Skip to main content

Full text of "MSX Extra #36"

See other formats


LA PRIMERA REVISTA DE MSX DE ESPAÑA 

Í.N. 36 Octubre 1987 • PVP 275 ptas. (incluido IVA) 

SUPER RAMBO ESPECIAL 




BIT-BIT 



■■irnL¡\lrj>:é\ 






Diseñada pare 


f»rrl f /fl 


al usuario de un PC Stop 




EL COMO Y EL POR QUEDE 


UNS 






OTRO PRODUCTO MANHATTAN TRANSFER; S.A. Stop 



A la vanguardia de la prensa útil. Stop 



SUSCRIBASE HOY MISMO A... 




AMENTALMENTE UTIL 




UNA REVISTA : 



POR EL PRE 



RECIBIRA DOCE EN SU DOMICILIO 



ENVIE HOY MISMO ESTE BOLETIN DE SUSCRIPCION 




Sí, deseo suscribirme a PCompatible a partir del número para cuyo pago adjunto talón bancario a la orden de 

Manhattan Transfer, S.A., c/. Roca i Batlle 10-12, 08023. Barcelona. 



Nombre y apellidos 

Calle N c 

Ciudad Provincia .... 

Código Postal Teléfono 



Tarifas: España por correo normal Ptas. 2.750.- Europa por correo aéreo Ptas. 3.000. 

Europa por correo normal Ptas. 3.000- América por correo aéreo USA. $ 35. 



Importante: Colocar en el sobre: Departamento Suscripciones PCompatible. NO SE ADMITE CONTRAREEMBOLSO. 



Editorial 



¿MSX-3? 

En un número reciente de una conocida 
revista del sector aparecía una 
interesante reseña sobre la nueva 
generación de ordenadores MSX, en la 
que se llegaba a afirmar, entre otras 
cosas, que los nuevos MSX dejarían de 
llamarse así, y que estarían basados en 
el nuevo cnip de Intel, el 1-80386, 
abandonando de este modo el popular Z- 
80 con que cuentan los MSX de primera 
y segunda generación. 
Esta noticia ha causado una verdadera 
conmoción entre los usuarios de MSX, 
ya que el cambio de cnip supondría un 
grave problema de compatibilidad. La 
publicación a la que nos referíamos, 
soslayaba este problema con la posible 
inclusión de un emulador Z-80 en los 
nuevos aparatos. 

Pero no nos molesta que se den este 
tipo de noticias -de una forma poco seria 
y profesional. Lo que nos molesta es que 
se trate de puras fantasías, fruto de un 
afán de espectacularidad, de llenar una 
revista tan sólo con noticias 
espectaculares a todo color. 
Aprovechando la visita realizada por 
Mr. Franch Berberich, director del 
departamento internacional de ASCII 
Corporation (fundadores de la norma 
MSX) a nuestro país le consultamos 
sobre este tema, desmintiéndonos 
tajantemente todas estas noticias. 
Cierto es que desde hace unos seis 
meses los fabricantes del estándar se 
plantean el lanzamiento de nuevos 
ordenadores; pero lo hacen con una 
visión de completa continuidad: no se 
abandonará el Z-80, sino que se 
mejorarán y acelerarán los diferentes 
coprocesadores ( VDP, PSG, etc). De este 
modo se consiguen mejores 
prestaciones sin perder un ápice de 
compatibilidad. 

Por último decir que en algo sí 
acertaron (pura suerte quizás), ya que 
probablemente los nuevos ordenadores 
no se llamen MSX-3. Las razones son de 
lo más inocente. Las letras MSX 
(provenientes en principio de Microsoft 
extended) son muy difíciles de 
pronunciar en japonés, cosa que, 
comercialmente es un handicap que 
debe solucionarse en los nuevos 
aparatos. 

Prometemos ampliar esta información 
en siguientes números de nuestra 
revista, así como las esperanzadoras 
noticias que Mr. Berberich nos ofreció 
acerca del futuro del estándar. 



SUMARIO 

AÑOIII N.°36 OCTUBRE 1987 
P.V.P. 278 ptas. (Incluido IVA 
y sobretasa aérea Canarias) 



IÜTPUT/OUTPUT 

Respondemos las consultas de nuestros lectores 

SUPER RAMBO ESPECIAL 

Un nuevo MEGABOM para los MSX de segunda generación 

CALLXV 

Las interioridades del DOS (II) 

BIT-BIT 

Cinco páginas en que comentamos lo último en SOFT MSX 

EN PANTALLA. 

Todas las novedades del panorama informático 

MSX-2 

Seguimos desvelando los secretos de los slots 

TRATAMIENTO DE FICHEROS 

QUICKSORT, la ordenación más rápida 

POKES DE VIDAS INFINITAS 

Todos los trucos para conseguir los POKES de tus- Juegos 

TODAS LAS UTILIDADES PARA EL 
«POKEADOR» 

Busca 
Casnom 
Carbus 
Letbus 

TRUCOS DEL PROGRAMADOR 

Trucos increíbles para que saques provecho de tu MSX 



4 
8 
10 
14 
20 
24 
26 
29 



32 
35 
38 
40 

42 



ES EDITADA POR MANHATTAN TRANSPER, 8JL 

Director Ejecutivo: Birgitta Sandberg. 
Redactor Jefe: Javier Guerrero. 
Redactores: Wüly Mlragall , Silvestre Fernández, Rubén Jiménez y Caries P. Ula 
Colaboradores: Angel Toriblo, Feo. Jesús Viceyra, Joaquín López. 
Departamento de Programación: Juan C. González. Diseño: Félix Llanos. 
Or aflamo: Juan Núñez, Jordl Jaumandreu, Caries Rublo. Suscripciones: 
Silvia Soler. Redacción, Administración y Publicidad: : Roca 1 BaUle, 
10-12. 08023 Barcelona. Tel.: (93) 211 22 56. Télex: 93377 TXSE E. 
Depósito legal: M-7369-1987. 

Fotomecánica y rotocompoalclón: Uiigraf, 8 A. Pujadas, 77-79. 08005 Barcelona. 
Imprima: Qrofol. Poll¿. II Lafuensanta Pare. I Móetoles (Madrid) 
Distribuya: O ME, 8 A. Plaza de Castilla 3. 16.° E. 2. 28046 Madrid 
Todo el material editado es propiedad de Manhattan Transfer, 8 A. 
Prohibida la reproducción total o parcial sin la debida autorización escrita. 



Input 



¿DIBUJAR CON 
DATA? 

Soy un novato en esto y lo 
que más me gusta hacer con 
mi MSX es hacer gráficos. 
También me gustaría saber 
dibujar con el mandato 
DATA pero por muchas 
pruebas que haga no sale 
nada en la pantalla. 

Jordi Montañés 
BARCELONA 

Lamentamos tener que co- 
mentarte que la sentencia 
DATA no tiene nada que ver 
con los gráficos. Es cierto 
que muchos programas grá- 
ficos utilizan esta sentencia; 
pero también se utilizan 
GOTO, LT...THEN... y 
FOR...NEXT 

sin que nadie las asocie con 
los gráficos. 

Tendrás que contentarte 
con los sistemas habituales 
de realizar gráficos en los 



COMPATIBILIDAD 
MSX 23 

En la sección Input/Out- 
put del número 31 de MSX- 
Extra apareció una carta en 
la que Sergio Mojón Suárez 
decía tener problemas de 
carga con su ordenador 
Sony HB-F9S. A mí me su- 
cedió lo mismo al comprar 
dicho aparato; pero tras ir 
al concesionario SONY me 
confirmaron que sólo se ne- 
cesita introducir un POKE 
antes de cargar el juego de la 
cinta. Este POKE es: 

POKE 65536,170 

Ménica Ortega 
Fernández 



Te agradecemos que nos 
hayas hecho llegar tu carta; 
pero creemos que los proble- 
mas de carga que surgieron 
a nuestro comunicante eran 
de otra índole por las expli- 
caciones que nos daba en su 
carta. 

De todas formas hemos 
creído interesante publicar 
tu carta, ya que muchos 
otros usuarios tienen tu 
mismo problema. 

Lamentablemente el 
POKE que nos incluyes fun- 
ciona sólo en ciertas ocasio- 
nes. Ya hemos hablado de 
estos POKES indicando que 



- 



SON V 

, HíT3!T 
W - 



v/////////////ííiinniiiiitiii mumU \u\ V 



J 



i M i, id 



UU 1 








I | 


L 


LJ. 






















1 1 


i 


L_ .1 1 




1 1 


III l fi 


i 


-l MUÍ 







X 






















^ 




1 





8ony HB -F98 

no son fiables al 100%. Aña- 
dimos otro POKE para aque- 
llos usuarios de MSX-2 que 
no consigan cargar sus pro- 
blemas. 

POKE 65535,255 

Estos POKES funcionarán 
o no dependiendo del pro- 
grama a cargar, así como del 
aparato en que estemos tra- 
bajando. 



PROGRAMACION DE 
JUEGOS 

Tengo entendido que en 
los juegos se utiliza mucho 
el lenguaje máquina para 
darles más rapidez. ¿Para 
qué más? 

Quisiera especializarme 
en programas de juegos. 
¿Dónde podría (si es que 
existe algún lugar) estudiar 
aquí en Barcelona o alrede- 
dores? 

¿En qué consiste vuestro 
test de listados? 

Joaquín Marques 
Carrizo 
Barberá del Vallés 
(BARCELONA) 

El lenguaje ensamblador 
(C.M.) se utiliza en los Jue- 
gos debido a sus dos propie- 
dades fundamentales: rapi- 
dez y economía de memoria. 
Estas dos razones hacen que 
éste sea el lenguaje preferi- 
do por los programadores de 
Juegos, así como por aque- 
llos que diseñan y trabajan 
con periféricos especializa- 
dos (MIDI, Robótica, etc). 

Lamentablemente no co- 
nocemos de ningún centro 
especializado en informáti- 
ca que tenga cursos de pro- 
gramación de videojuegos. 
Existía uno en Barcelona 



(especializado en MSX) que 
incluía en sus cursos en- 
samblador, juegos, y otros 
interesantes aspectos pero 
ha cerrado sus puertas a la 
enseñanza desde principios 
de este verano. 

Respecto al test de üsta- 
dos, se trata de una rutina 
que emite un listado de nú- 
meros de control. Una vez 
hemos copiado un progra- 
ma de alguna de nuestras 
revistas hemos de apUcarle 
el programa Test de Lista- 
dos. Este programa nos en- 
tregará una cifra de control. 
Si esta cifra coincide con el 
TOTAL pubUcado en la revis- 
ta significa que el programa 
ha sido correctamente 
transcrito. En caso contra- 
rio cada línea del programa 
tiene su propia cifra de con- 
trol, con lo que podemos 
averiguar si está bien trans- 
crita desde la revista. 



TECLAS LOCAS 

¿Qué ocurre cuando pulso 
al mismo tiempo las teclas 
CODE+GRAPH+SHIFT y 
posteriormente CTRL? 
Cuando lo hago en el menú 
del principio se me pone la 
pantalla de un solo color y si 
hago SCREEN y doy LIST 
me aparece un listado extra- 
ño y me da RESET. Si hago 
esto- en BASIC me salen Ok 
hasta que deje de pulsar 
CTRL. 

¿Debo preoouparme? ¿Por 
qué sucede esto? 

Santiago Martines 
MADRID 

Pese a que los MSX son 
aparatos de muy alta calidad 
no son perfectos. Debido a la 



peculiar estructura del chip 
que controla el teclado, se 
producen ciertos «errores» 
al pulsar numerosas teclas 
simultáneamente. Dado que 
esto no suele ocurrir con de- 
masiada frecuencia se pasó 
por alto en ios controles de 
calidad y ahora nosotros, 
sufridos usuarios del están- 
dar nos encontramos con 
que nuestros ordenadores 
fallan ante esta eventuali- 
dad. 

Hemos probado la combi- 
nación de teclas que nos co- 
mentas en varios ordenado- 
res ( todos ellos SONY) y no 
hemos detectado que ocurra 
nada especial. Sin embargo 
no te preocupes. Por ejem- 
plo si pulsamos al mismo 
tiempo las teclas SHIFT- 
+ comillas +"A" aparecerá 
ante nosotros el mensaje 
CLOAD". 

Es algo que difícilmente 
podemos ayudarte a solucio- 
nar. Debes aprender a con- 
vivir con este tipo de errores 
sin preocuparte. Simple- 
mente evita el pulsar más de 
3 teclas simultáneamente 
en tu ordenador. ¡Y no te 
preocupes en absoluto! Por 
muy raras que sean las co- 
sas que haga tu ordenador 
en estas condiciones, son to- 
talmente inocuas para su 
circuitería. Como máximo 
puedes perderlos datos con- 
tenidos en la memoria en 
ese momento. 



PRINT TJSING 



— 



un 

grama de gestión para lle- 
var la contabilidad de un pe- 
queño negocio y el problema 




nos comentas de la RAM 
principal, ya que esta me- 
moria está ocupada por la 
ROM BIOS (si se utiliza el 
BASIC) o por el sistema de 
interrupciones no enmas- 
carabas (en cualquier otro 
caso). 

Suponemos por tanto, que 
tales direcciones correspon- 
den a la VRAM, y que el di- 
bujo es cargado por el pro- 
grama directamente en la 
VRAM. 

Si utilizas unidad de disco 
es muy fácil conseguir esta 
carga desde el BASIC, con la 
instrucción BLOAD "nom",S. 

Pero si trabajas desde el 
cassette deberás cargar la 
pantalla en memoria prin- 
cipal y de ahí, con una pe- 
queña rutina en ensambla- 
dor, pasar la RAM a VRAM. 

Para cargar la pantalla en 
memoria principal (por 
ejemplo en la dirección 
&H90P0) deberás hacer: 

BLOAD "nom",&H9<pplp 

sólo queda pasar la RAM a 
VRAM con una rutina en 
C.M. o bien con un bucle en 
BASIC. 



de la pantalla, etc. 

Te recomendamos, si quie- 
res saber algo más sobre el 
tema, que leas el artículo 
aparecido en el número 32- 
33 de nuestra revista: «Re- 
programación de caracteres 
en SCREEN 2». 

Respecto a «sacarle jugo» 
a tus programas; existen 
muchas formas de hacerlo. 
La más lógica es la de ven- 
der dichos programas. Si los 
programas estuvieran he- 
chos en C.M. y tuvieran una 
buena calidad podrías inten- 
tar editarlos en cinta por 
medio de alguna empresa de 
Soft nacional, como DINA- 
MIC o Manhattan Transfer 
(a través del MSX-Club de 
cassettes ). Si los programas 
están hechos en BASIC es di- 
fícil que se editen en cintaya 
que el mercado está satura- 
do de este tipo de progra- 
marnos tus programas, que 
si tienen una buena calidad 
podrán ser publicados en 
nuestras revistas, con la 
consiguiente retribución 
económica. ¡Es sólo una 
idea...! 



me sale al imprimir las ci- 
fras, ya que las pone de iz- 
quierda a derecha y no de de- 
recha a izquierda como yo 
quisiera para que cuadren 
bien los números. Tengo en- 
tendido que esto se solucio- 
na con «PRINT USING» pero 
no sé cómo utilizarlo. 

Manuel Laxa Peres 

MATAflA 

Desgraciadamente una 
instrucción tan importante 
como PRLNT USING se en- 
cuentra casi olvidada en los 
manuales de BASIC. 

Esta instrucción se utiliza 
como un PRINT normal; 
pero los datos que queramos 
imprimir pueden forma- 
tearse a nuestro gusto. Por 
ejemplo, si queremos impri- 
mir números enteros en un 
espacio de 8 caracteres y 
que queden alineados a la 
derecha deberemos hacer: 

PRINT USINO »###### 
##";iíum 

Si queremos que el núme- 
ro aparezca con dos deci- 
males haríamos: 

PRINT USING "#####. 
##";Num 

Existen muchas más po- 
sibilidades para esta potente 
instrucción; pero comentar- 
las todas sería demasiado 
extenso. Esperamos que es- 
tos dos ejemplos basten 
para tus propósitos. 



GRABACION DE 
PANTALLAS 

En el programa de diseño 
gráfico "DRAW AND PAINT" 
al hacer el dibujo y luego al 
grabarlo funciona bien; pero 
al reproducirlo sólo se pue- 
de ver cuándo el diseñador 
está en memoria. 

La pantalla de presenta- 
ción se carga en las direccio- 
nes: 

INICIO: SPH0000 

FIN: SPH37FF 

EJEC: SPH0000 

Una vez cargado, en vez de 
ejecutarse se hace un RE- 
SET. Me han dicho que pue- 
do cambiar las posiciones de 
memoria. ¿Cómo puedo ha- 
cerlo? 

Rolo Padonanl 
GRANADA. 

Ningún programa ni grá- 
fico puede cargar en las di- 
recciones de memoria que 



BAGAR JUGO A LOS 
PROGRAMAS 

¿Para qué sirve la 
BASE(IO)? ¿Qué se almace- 
na ahí y cómo? ¿Para qué 
sirve si ya tenemos las bases 
11 y 12? 

Tengo un par de progra- 
mas con rutina inteligente 
hechos por mí y quisiera sa- 
ber cómo sacarles jugo para 
poder comprarme una uni- 
dad de discos. 

Enric Carrera i Gallart 

La variable del sistema 
BASE(IO) almacena la TNP 
(tabla de números de los pa- 
trones) en SCREEN 2. Aun- 
que al usuario final no se lo 
parezca, el modo SCREEN 2 
funciona de forma similar a 
como lo hacen los modos de 
texto, ya que la pantalla está 
formada por caracteres que 
se van redeñnlendo a la 
hora de realizar los dibujos. 

La tabla cuya dirección se 
indica en BASE(IO) contie- 
ne los caracteres que con- 
forman la pantalla gráfica, y 
gracias a ella se pueden con- 
seguir efectos muy especta- 
culares, scrollings parciales 



FALLOS EN DISCO 

Tengo una unidad de dis- 
cos de simple cara SONY y 
un ordenador TOSHIBA HX- 
10 y quisiera que me resol- 
vieran unos problemas que 
me han surgido. 

¿Puedo utilizar diskettes 
vírgenes 2DD sin proble- 
mas? 

A veces me aparece DISK 
FTJLL aunque quede mucho 
espacio en el disco, y los pro- 
gramas que aparecen en el 
directorio no se ejecutan co- 
rrectamente. ¿A qué puede 
ser debido? 

Bautis ta E nrique 
Burrlana (CASTELLON) 

Pese a que es un derroche 
innecesario no existe nin- 
guna contraindicación por 
utilizar discos 2DD en tu 
unidad. Te recomendamos 
sin embargo, por razón de 
economía, que utilices dis- 
cos de una sola cara en tu 
unidad de discos. 

Respecto al error que nos 
comentas (ocurrido repeti- 
damente en diferentes dis- 
cos) es debido a la sobrees- 



critura de datos en el direc- 
torio del disco. Esto puede 
tener su origen en dos pun- 
tos diferentes. 

1. — Estás grabando en tus 
diskettes programas comer- 
cíales no preparados para 
ser almacenados en disco. 
Estos programas utilizan 
las mismas zonas de me- 
moria que el interfaz de la 
unidad de disco, producién- 
dose de este modo un con- 
flicto que puede llegar a pro- 
vocar la sobreescritura del 
directorio. 

2. — Si no estás incluyen- 
do en tu disco este tipo de 
programas, sino programas 
en BASIC, o programas pre- 
parados específicam en te 
para el disco, se debe tratar, 
sin duda, de un error en la 
unidad de disco que deberá 
ser solucionado por el ser- 
vicio técnico correspondien- 
te. 



VOCES HUMANAS EN 
MSX 

Quisiera rectificar lo que 
habéis dicho sobre'la obten- 
ción de voces humanas en el 
número 1 1 de vuestra revis- 
ta, ya que hay un juego 
(Valkyr) para MSX en que 
se emiten voces humanas, lo 
cual quiere decir que el chip 
de sonido del MSX puede 
emitir voces humanas. 

José Antonio Fernández 
Rodríguez 
LA CORTJÑA 

Agradecemos tu rectifica- 
ción y reconocemos nuestro 
craso error. 'Los MSX pue- 
den perfectamente emitir 
voces humanas, y así tam- 
bién cualquier otro sonido e 
incluso funcionar como sin- 
tetlzador monofónlco. 

A ti tenemos que corregir- 
te y hacerte saber que no es 
el chip de sonido el encar- 
gado de estos efectos, sino 
un bit del PPI (Port Progra- 
máble de Interfaces) que 
controla directamente el al- 
tavoz. El chip de sonido, por 
su especial forma de progra- 
mación es incapaz de reali- 
zar estos efectos. 

Sin embargo, y gracias a 
este bit del PPI se puede en- 
viar directamente al altavoz 
cualquier sonido previa- 
mente digítalizado: una voz, 
un grito, o cualquier otro 



f ~ 1 

CON GARANTIA 



efecto que se desee. Espera- 
mos tratar pronto este tema 
e incluir una rutina que os 
permita utilizar tales efec- 
tos en vuestros propios pro- 
gramas. 



ADAPTADOR CCG-MSX 

Quisiera que me informa- 
rais si el adaptador de MSX 
para SVI-328/318 se comer- 
cializa en Madrid y en el 
caso de que así sea, dónde 
puedo conseguirlo y cuál es 
su precio. 

También querría saber 
cuáles son las líneas que fal- 
tan al programa Talismán 
del número de Abril. 

Juan Enrique Pérez 
Muñoz 
MAPUTO 

Según las noticias de que 
disponemos en este momen- 
to hemos de decirte que el 
adaptador CCO para conver- 
tir los SVI-31 8 y SVI-328 en 
MSX sólo se comercializa 
desde Bar acaldo. Sin embar- 
go puedes dirigirte a CCO 
por correo, ya que es éste el 
medio por el cual comercia- 
lizan su adaptador. El precio 
del mismo el 1 de Enero de 
este año era de 7.840 ptas 
(IVA incluido) y el del sub- 
sistema de disco opcional de 
1.800 ptas. 

La dirección de CCO S&H 
es la siguiente. 

C.C.G. S&H 

Lar rasólo, 13-4B 

48902-BARACALDO (VIZ- 
CAYA) 

Tno: (94)462 46 52 
(94) 44029 99 

Respecto al programa TA- 
LISMAN, desgraciadamente 
hubo un error de fotocom- 
poslclón, y fueron equivoca- 
das dos páginas del progra- 
ma. Dichas páginas se inclu- 
yeron en el siguiente nú- 
mero de MSX-Extra (núme- 
ro 31 - Mayo). 



FE DE ERRATAS 

Andoni Regó Etxebarria, 
creador del programa VER- 
BOS para MSX-2, que apa- 
reció publicado en nuestro 
número 34 nos avisa de que 
en el listado publicado exis- 
te un pequeño error. La lí- 
nea 1280 de este programa 
debe quedar así: 

1280 IF G$="12:00:00" 
THEN PLAY 
V10L64ade" 




BIENV 



TKT 





T.N.T. Termina con los peligros del castillo 
tenebroso armado con los barriles de TJí.T. 
Pero ¡ten mucho cuidado! Manipular los ex- 
plosivos es muy peligroso, y cualquier des- 
cuido puede ser fatal. PVP. 1.000 Pts. 



SKY HAWK. ün magnifico Juego de simula- 



que ha de derribar al enemigo y regresar al 
portaaviones sano y salvo. PVP. 1.000 pts. 




LOTO. Este es el programa que estaban espe- 
rando los usuarios de MSX para nacerse mi- 
llonarios cuanto antes. El complemento 



que más de un lector se na hecho rico. PVP. 
900 Pts. 



LORD WATSON. Este es un juego muy original 
que combina el laberinto con las palabras 
cruzadas. Los obstáculos fantásticos y el vo- 
cabulario son los alicientes . PVP. 1.000 pts. 




DEVIL'S CA8TLE. La más original, amena y 
entretenida aventura hecha videojuego. 
Eres un mago que debe romper el hechizo de 
un castillo endemoniado, para lo cual... Exce- 
lentes gráficos y acción a tope. PVP. 900 Pts. PVP.900pts. 



MATA MARCIANOS. On Juego clásico en una 
versión cuya mayor virtud es su diabólica ve- 
locidad que aumenta a medida que superamos 
las oleadas de los invasores extraterrestres. 



VAMPIRE . Ayuda al audaz Guillermo a salir 
del castillo del Vampiro, sorteando murcié- 
lagos, fantasmas, etc. Un juego terrorífica- 
mente entretenido para que lo pases de mie- 
do. PVP. 800 Pts. 



^v%Slím#""f PARA MSX- 

r T T A T ^ T>v 



G0PY 

POR JOAQUIN LOPEZ 

Menú» por vcnUnas irr* 
formato» dr coptaa mmulaclón 
r-n blanco y neftro copio 
«prima seaeflne r.olorni 
compatible con cualquier 



CON GARANTIA 



HARD C0PY. Para copiar pantallas. Tres 
formatos de copias, simulación por blanco y 
negro, copia sprites, redeflnic. de colores, 
compatible con todas las impresoras ma- 
tric. PVP. 2.500 Pts. 




¿Cómo corregir los errores 
de transcripción de los 
programas? 
La solución a los errores en 
los programas es este TEST 
DE LISTADOS. 

CON GARANTIA 

/1/IAN-WWsl TRANSFEPS 



TEST DE LISTADOS. El segundo programa de 
la Serie Oro es el útilísimo Test que te permi- 
tirá controlar la corrección de los progra- 
i de MSX CLUB y MSX EXTRA 



CI>OS 



KRYPt|)N 



msxclub 



de CASSETTES 



IWOCT 



QUINIELAS 




KRYPTON. La batalla más audaz de las gala- 
xias en cuatro pantallas y cuatro niveles de 
dificultad. Un juego cuya popularidad es cada 
vez mas grande entre los usuarios del MSX. 
PVP. 500 Ptas. 



El secreto de la 



ÍON GARANTIA 




0-BOOT. Sensacional juego de simulación 
submarina en la que tienes que demostrar tu 
pericia como capitán de un poderoso subma- 
rino de guerra. Panel de mandos, sonar, tor- 
pedos, etc. PVP. 700 Ptas. 



QUINIELAS. El más completo programa de 
quinielas con estadística de la liga, de los 
aciertos, etc. e impresión de boletos. Acertar 
no siempre es cuestión de suerte. PVP. 700 
Ptas. 



SNAKE. Entretenido y muy divertido Juego 
en el que Snake procura comer unos núme- 
ros que la engordan. Tanto las murallas que 
la rodean como su larga cola pueden ser 
mortales para ella. PVP. 600 Ptas. 





EL 8ECRET0 DE LA PIRAMIDE. Atrevido 
juego de aventuras a través de los misterios 
y peligros que encierran los laberínticos pa- 
sillos de una pirámide egipcia. ¡Atrévete si 
puedes! PVP. 700 Ptas. 



STAR RÜNNER. Conviértete en el audaz 
piloto interestelar y lucha a muerte, a 
través del hiperespacio, contra las defen- 
sas del tirano Daurus. Dos pantallas y 
cinco niveles de dificultad. PVP. 1.000 pts. 

Si quieres recibir por correo certificado estas cassettes garantizadas recorta o copia este boletín y envíalo hoy mismo: 



FLOPPY, El Preguntón. Un verdadero desafio 
a tus conocimientos de Geografía e Historia 
española. Floppy no perdona y te costara 
'1.000 Ptas. 



MAD FOX. Un héroe solitario es lanzado a 
una carrera a vida o muerte por un desierto 
plagado de peligros. Conseguir el combusti- 
ble para sobrevivir es su misión. Diez niveles 
de dificultad. PVP 1.000 pts. 



n 



Nombre y apellidos: 
Dirección: 
Población: 



1 







CP 







□ 

n 
□ 
□ 
□ 
□ 



KRYPTON _ 

UBOOT 

HARDCOPY 

LORD WATSON 

LOTO 

SNAKE 



Ptas. 500,- □ EL SECRETO DE LA PIRAMIDE 

Ptas. 700,- □ STAR RÜNNER ¿_ 

Ptas. 2.500,- □ TEST DE LISTADOS 

. Ptas. 1.000- □ MATA MARCIANOS 

Ptas. 900.- □ DEVIL'S CASTLE 

Ptas. 600.- □ FLOPPY 



Prov 

Ptas. 700,- 
Ptas. 1.000,- 
Ptas. 500- 
Ptas. 900- 
Ptas. 900.- 
Ptas. 1.000,- 



Tel. 



□ MAD FOX 

□ VAMPIRO 

□ SKYHAWK 

□ TNT 



Ptas. 1.000,- 
Ptas. 800,- 
Ptas. 1.000- 
Ptas. 1.000,- 



, lias 
J 



Ptas. 70 - Remito talón bancario de Ptas. 



a !a orden de Manhattan Transfer, SA 



ATENCION: Los suscriptores tienen un descuento del 10% sobre el precio de cada cassette. 

IMPORTANTE: Indicar en el sobre MSX CLUB DE CASSETTES. ROCA I BATLLE, 10-12 BAJOS. 08023 BARCELONA 

Para evitar demoras en la entrega es imprescindible indicar nuestro nuevo código postal. 



NUESTRAS CASSETTES NO SE VENDEN EN QUIOSCOS. LA UNICA FORMA DE ADQUIRIRLAS ES SOLICITANDOLAS 

A NUESTRA REDACCION. ¡NO SE ADMITE CONTRA REEMBOLSO! 



SOFTWARE 




Los MEGAROM comienzan a desembarcar en nuestro mercado. En este caso, este sensacional juego se basa 
en las aventuras de RAMBO en su camino por liberar a un prisionero de los vietnamitas. 



RRodo en orden! Sobrevolamos 

I* B la zona de lanzamiento... Pue- 
I de lanzarse cuando lo desee... 
Así empieza este espectacular juego. 
RAMBO sobrevuela la zona enemiga y 
se lanza en paracaídas para rescatar al 
único superviviente de los campos de 
prisioneros vietnamitas. En su camino 
sólo encontrará ingentes cantidades de 
enemigos que, sin embargo, son su úni- 
co método para conseguir el armamen- 
to necesario para llevar a buen térmi- 
no su difícil misión. 

Pero antes de entrar de lleno en el 
juego comentemos algo sobre el sopor- 
te físico del mismo. 



SUPER RAMBO 

SUPER RAMBO son en realidad dos 
juegos, dos cartuchos de ROM, para ser 
exactos. El primero es una versión 
para los MSX de primera generación, 
mientras que el segundo, SUPER RAM- 
BO ESPECIAL, es un MEGAROM que 
sólo funcionará en los MSX de segunda 
generación. 

Existen varias diferencias entre 
ellos. La primera y más palpable es la 
enorme diferencia existente en la ca- 
lidad de los gráficos empleados en am- 
bas versiones. Los gráficos empleados 
en la versión ESPECIAL (sólo MSX-2) 
tienen un excelente grado de realismo. 
En cambio, la versión MSX-1, para sub- 
sanar su menor calidad gráfica, ha in- 
cluido más peligros en el juego (arañas 
y serpientes venenosas entre otros), 
con lo que el juego se hace algo más in- 
teresante. 

Para centrarnos adecuadamente ha- 
blaremos, a partir de ahora, de sólo 
una de las versiones, SUPER RAMBO 
ESPECIAL, si bien muchas de los pun- 
tos comentados servirán también para 
SUPER RAMBO (MSX-1). 



SUPER RAMBO ESPECIAL 

Antes de comenzar el juego quere- 
mos recomendaros la utilización del 
mapa de este juego, publicado en el nú- 
mero de Septiembre de nuestra revista 
hermana MSX-CLUB en forma de pós- 
ter en color. Gracias a este mapa po- 
dréis localizar rápidamente los pasajes 
secretos que os conducen por entre los 
setos a diferentes depósitos de armas, 
conocer el lugar en que se encuentra el 
arma que estéis buscando, etc. 

Nada más conectar el cartucho a 






Estas dos pantanas situaciones típicas en el Juego: La cabana de prisioneros y 
el bosque. 



vuestro MSX-2 aparece en la pantalla 
una excelente digítaliz ación de RAM- 
BO, que sirve de presentación al juego. 

El objetivo de la misión es recorrer 
más de 250 pantallas hasta localizar al 
prisionero y luego huir con él hasta el 
helicóptero que se encuentra en un cla- 
ro de la selva preparado para la huida. 

Pero este camino no es nada fácil. 
Existe un gran número de soldados 
enemigos acuartelados en esta zona, 
defendiendo con uñas y dientes unas 
pequeñas edificaciones de caña de 
bambú (realizadas con unos gráficos 



soberbios). Dentro de estas edificacio- 
nes se encuentran (además de cinco o 
seis nuevos enemigos) las armas que 
RAMBO precisa para terminar la mi- 
sión. 

Para complicar más aún ésta, mu- 
chas de las cabanas de caña están ce- 
rradas con gruesos candados y para 
poder entrar se necesitarán de unas 
llaves que, cómo no, se encuentran es- 
parcidas a todo lo largo y ancho de la 
selva que compone el escenario de este 
juego. 

Y aún hay más. A lo largo de toda la 



ina^o para ¿cas» 



aventura encontraréis varios parte- 
rres sembrados con «lindas florecitas». 
Existen dos tipos de flores: las flores 
azules, medicinales, recompensarán a 
RAMBO con una cantidad extra de 
vida, mientras que las rojas y blancas, 
venenosas, reducirán considerable- 
mente ese nivel de energía. 

A los enemigos los distinguiréis fá- 
cilmente por el color de sus uniformes, 
y según sea éste, dispondrán de un 
arma determinado: revólver, metralle- 
ta, o granadas y cohetes (son los más 
peligrosos). En cuanto a las armas de 
RAMBO, dispone de las siguientes: cu- 
chillo, pistola, metralleta, flecha, gra- 
nada, cohete y bazooka. 

Pistolas, metralletas, flechas son ar- 
mas muy aparentes; pero con poca uti- 
lidad. Para poder utilizarlas hemos de 
estar en línea de tiro con el enemigo, 
que por esa misma razón no duda en 
dispararnos a nosotros. 

Sin duda, el arma más eficaz es el cu- 
chillo. Sólo hay que acercarse sigilo- 
samente al enemigo y atacarle cuando 
esté desprevenido. 

Por último granadas, cohetes y ba- 
zookas son fundamentales para el éxi- 
to de la misión, ya que nos permitirán 
arrasar cabanas que nos cierran el 
paso, o destruir rocas molestas. Hay 
que decir que, personalmente, preferi- 
mos el bazooka, ya que es el arma con 
mayor poder destructivo. 

Sólo una cosa más respecto a las ar- 
mas. Estas se acumulan mientras no 
las utilicemos, por lo que RAMBO pue- 
de acabar portando un envidiable ar- 
senal. De igual forma se acumulan las 
flores azules, que podremos utilizar 
cuando nos sean necesarias, y las lla- 
ves que nos permitirán abrir ciertas 
cabanas. 

EMPECEMOS EL JUEGO 

Primera fase: Al iniciar el juego nos 



encontramos en medio de la selva, con- 
tando con un cuchillo como única 
arma. Lo primero que debemos hacer 
es aprovisionarnos del arsenal adecua- 
do. Para ello lo más interesante es ba- 
jar a la pantalla inferior y de alh hacia 
la izquierda. Recorriendo unas cuantas 
pantallas arriba y abajo llegaremos a 
una cabana que contiene el bazooka. 
Este arma es totalmente necesaria, ya 
que sin eUa no podremos llegar hasta 
nuestro primer campamento. 

Antes de llegar a la cabana del ba- 
zooka notaremos que un extraño alia- 
do se ha unido a nosotros, disparando 
a todos nuestros enemigos. ¡Intentad 
conservar su ayuda todo el tiempo po- 
sible, haciendo que se aparte del fuego 
enemigo! 

Sólo al final de esta primera etapa 
encontraremos nuestro camino cerra- 
do por unas rocas. Es el momento de 
utilizar el bazooka. Tras destruir esas 
rocas encontraremos una cabana. Al 
entrar en ella observaremos un código 
en la parte inferior de la pantalla. A 
partir de ahora podemos empezar 
nuestras siguientes partidas en este 
punto con sólo introducir el código 
(además empezamos con un intere- 
sante arsenal). 

CLAVE 1: 10A09A38 

Segunda fase: La segunda fase es bas- 
tante similar a la primera, con una sal- 
vedad. Encontraremos dos puntos en 
los que las flores venenosas nos cie- 
rran el paso. En el primero podemos 
abrirnos paso destruyendo con el ba- 
zooka una cabana de bambú. Para pa- 
sar al segundo plantel de flores lo me- 
jor es utilizar una flor azul. Esta flor 
nos dará la suficiente energía como 
para atravesar el plantel y llegar a 
nuestro segundo campamento, donde 
se nos dará una nueva clave. 

CLAVE 2: 04K14042 . 

Tercera fase: La tercera fase es bas- 
tante corta y sencilla; pero necesita- 
mos una buena provisión de flores azu- 
les. Es además muy importante encon- 
trar el pasaje secreto (entre setos que 
no son tales), ya que nos evitará gastar 
xina flor azul. 

En la última parte de esta fase en- 
contramos una enorme extensión de 
plantas blancas y azules; pero como es- 
tán situadas de forma alterna, pode- 
mos traspasarlas sin ningún proble- 
ma, ya que la energía que nos reste una 
flor venenosa, nos la recuperará la flor 
azul. . 

CLAVE 3: 03M16041 

Cuarta fase: El río. En este río tro- 
pical, lleno de fango y rocas, debemos 
luchar contra la corriente. Existe, sin 
embargo, un método muy sencillo para 
atravesarlo sin problemas. Basta con 
dirigirse a la derecha y apretar todo lo 
rápida que se pueda el botón de dispa- 
ro. Podéis también apoyaros en las ro- 
cas que sobresalen en el curso del río. 



CLAVE 4: 05U01K42 

Quinta fase: Sin duda la más sencilla 
de toda la aventura. Basta con ir siem- 
pre hacia arriba, y localizar la cabana 
en la parte izquierda de nuestro cami- 
no. La entrada se halla cerrada por 
unas rocas, que podemos destruir con 
nuestro querido bazooka, y tras ellas 
un pasaje secreto entre los setos nos 
llevará al campamento. 

CLAVE 5: 03K12M41 

Sexta fase: Nada más abandonar 
nuestro quinto campamento encontra- 
remos un mapa (que sirve de muy poco 
ya que es prácticamente ininteligible). 
Descendiendo otro gran trecho llega- 
mos a una zona con setos. Hay que en- 
contrar entre ellos un pasaje secreto 
que nos lleva a un claro. Una vez aquí, 
con el bazooka, podremos abrirnos 
paso hasta una cabana enemiga y, un 
poco más abajo, nuestro sexto campa- 
mento. 

CLAVE 6: 04K29K38 

Séptima fase: Superar la séptima 
fase es sólo cuestión de bazooka. Hay 
que localizar también un gran número 
de pasajes secretos, que nos conduci- 
rán poco a poco a la prisión. Una vez 
allí, y tras utilizar una llave para abrir- 
la, podremos rescatar al prisionero. 

El prisionero, una cosa raquítica que 
nos sigue a todos lados, es el principal 
objetivo de nuestra misión. No hemos 
de exponerlo, por ningún motivo, al 
fuego enemigo. 

CLAVE 7: 03S21K40 

Octava fase: Una fase de puro trá- 
mite, en que nos tenemos que limitar a 
seguir los pasillos adecuados. No en- 
contraremos ningún obstáculo impor- 
tante. 

CLAVE 8: 12P04M29 

Novena fase: Esta última fase es un 
verdadero laberinto, y se agradece más 
que nunca disponer del mapa publica- 
do en nuestra revista hermana MSX- 
CLUB. Tras encontrar la salida a tal la- 
berinto y destruir una cabana que nos 
estorba el paso, llegamos a nuestro no- 
veno y último campamento. 

CLAVE 9: 10Y20T31 

Final: Al lado de nuestro campamen- 
to encontramos un helicóptero, listo 
para nuestra fuga. Hemos de montar 
en él (con el prisionero) y huir hacia 
la zona inferior derecha del juego. So- 
brevolaremos con el helicóptero nu- 
merosas pantallas; pero ahora ya sa- 
tisfechos del trabajo realizado, y sin 
ningún peligro para nuestras vidas. 

Tras alcanzar la pantalla inferior de- 
recha aparece el típico mensaje THE 
END, en este caso acompañado por una 
triunfal tonada y por numerosas ban- 
deras americanas (un detalle muy 
acertado, dado el carácter del perso- 
naje). 

Terminamos aquí el comentario de 
este sangriento juego, lleno de emoción 
y acción en sus más de 250 pantallas. 
Sin duda, un MEGAROM de excepción. 



CALLXV 




mes, tal y como prometimos, entraremos a fondo en las interioridades del "DOS", basándonos en la 
relación de funciones simiinistradas en el número pasado. 



LA LENGUA DE SHAKESPEARE 

No hace falta entender las obras 
de Shakespeare en su lengua 
natal para defenderse con los 
ordenadores. Sin embargo, los que 
creen que memorizar los vocablos co- 



inglés son unos optimistas. En todos 
los estudios técnicos superiores se in- 
cluye al inglés como asignatura obli- 
gatoria y la informática no es una ex- 
cepción. 

Es importante que cualquiera que 
piense dedicarse a la programación 
tenga una cierta base en esta lengua y 
aún más, es bueno que adquiera la cos- 
tumbre de nombrar a sus procedimien- 
tos y de añadir comentarlos en inglés. 

Tarde o temprano debemos presen- 
tar alguno de nuestros listados a al- 
guien que no conoce el castellano he- 
mos de pelearnos con algún manual en 
inglés. 

Sin ir más lejos, corre por ahi un li- 
bro excelente sobre MSX2, escrito... ¡en 
japonés! Afortunadamente los autores 
han tenido el acierto de incluir peque- 
ños comentarios a los listados en in- 
glés. Muy escuetos, por cierto, pero su- 
ficientes. 

Todo esto viene a cuento por el hecho 
de que son muchas las palabras cons- 
truidas con siglas y abreviaturas que 
forman términos relacionados con las 
interioridades del DOS. La similitud de 
los vocablos y la cantidad de éstos hace 
que sea fácil perderse si no se tiene una 
pequeña base de inglés. 

Empecemos sin más, con el aluvión 
de siglas. 

DMAYFCB 

El DMA (Direct Memory Access) es 
la zona de comunicaciones reservada 
para la entrada y salida de datos hacia 
el disco. Con estas siglas se designa el 
procedimiento por el cual un disposi- 
tivo lee o escribe en la memoria sin 
contar con la CPU. En realidad su em- 
pleo en microordenadores es una reli- 
quia del pasado, puesto que en la ac- 
tualidad suele ser la CPU la que se en- 
carga de la transferencia de los datos. 
Aún asi el nombre ha perdurado. 

Nosotros designaremos por DMA la 
posición de memoria en la que se em- 
pieza a realizar la transferencia. Es 
muy importante tener en cuenta que es 
preciso saber en cada momento dónde 
se van a escribir o leer los datos. Por 



tanto, resulta obligado fijar una posi- 
ción al DMA antes de realizar una ope- 



Fig. 1. Disposición de datos 



i FCB. 





12 
14 
16 



20 

22 

24 
25 
26 

28 

30 

32 



36 



A/ 
M/ 
D/ 



ID 
DIR 

lo 



Drive 



Bloque en 
curso 



Tamaño de un 
registro 



Fecha 



Hora 



Periférico 

Local ización 
directorio 

Primer cluster 



Ultimo cluster 

Ultimo cluster 
(con relación 
al inicio del 
fichero) 



Registro en 
curso 







ración de intercambio con el disco. 
Vale cualquier posición de memoria 
exceptuando las comprendidas entre 
6P4000 y 6PH8000, puesto que es aquí 
donde se pagina el controlador de disco 
y éste no puede leer o escribir sobre sí 

Fig.2. Disposición de datos en directorio. 



11 
12 



22 



24 



26 



28 



32 



N 

O 
M 

B 
R 
E 

D 
§ 
L 

F 
I 

C 
H 
E 
R 
O 



ATB 



F 
U 
T 
U 
R 
A 
S 

E 
X 
P 
A 
N 
S 
I 

O 
N 

E 
S 

A/ 
M/ 

D/ 



lo 



Atributos 



Fecha 
Hora 

Primer cluster 



10 



mismo. Naturalmente habrá que vigi- 
lar que la zona de transferencia no 
"machaque" algo importante (las va- 
riables del sistema, por ejemplo). 

El FCB (Fue Control Block) es la par- 
te que se encarga de decir al DOS qué 
es lo que debe hacer con un fichero. Se 
trata, por así decirlo, de un conjunto de 
variables agrupadas que sirven para 
comunicarse con el DOS. La figura 1 re- 
coge la composición de un FCB. 

Cuando se desea abrir un fichero, bo- 
rrarlo, renombrarlo, escribir en él, etc., 
es preciso construir un FCB, para que 
el DOS pueda trabajar con el fichero en 
cuestión. 

Quizá alguien piense que el FCB es 
idéntico a la información que se en- 
cuentra en la zona del directorio de un 
disquette. Sin embargo, basta compa- 
rarlo con la figura 2, que recoge la dis- 
posición de los datos de un fichero den- 
tro del directorio, para notar la gran 
diferencia que existe entre ambos. 

Lo que sí es idéntico a un FCB es la 
llamada "entrada al directorio". 

Las "entradas al directorio" son una 
copia temporal y modificada de la in- 
formación de una parte del directorio 
del disquette, que el DOS guarda en la 
RAM para agilizar el trabajo. Con ello 
se consigue no perder el tiempo modi- 
ficando constantemente el directorio a 
cada cambio que se produzca en algún 
fichero. La información se va actuali- 
zando, en la entrada al directorio co- 
rrespondiente y es escrita sólo cuando 
el fichero en particular se cierra o 
cuando se ordena un cierra en conjun- 
to. Ello explica por qué es peligroso 
cambiar de disquette cuando hay un fi- 
chero abierto, ya que las entradas al di- 
rectorio en memoria serán escritas so- 
bre el nuevo disco y éste quedará in- 
servible. 

DPB Y FAT 

El DPB (Drive Parametrer Block) es 
una tabla donde se especifican las ca- 
racterísticas físicas y lógicas del dis- 
quette. Hay una por cada unidad de dis- 
cos conectada y están ubicadas en la 
RAM. Aunque dejamos para más ade- 
lante su descripción completa, vale 
adelantar que la información que se 
guarda en el DPB va desde el número 
de bytes que conforman un sector has- 
ta el cluster donde empieza el directo- 
rio pasando por punteros a la FAT. 

La FAT (File Allocation Table) está 
grabada en los primeros sectores de un 
disquette y sirve para guardar una re- 
lación concreta de las partes del disco 
que contienen datos útiles y de las que 
están disponibles. Su funcionamiento, 
al igual que el del DPB, será tratado en 
el futuro. 

Ahora, y a fin de entrar en materia 
de una forma práctica, lo mejor es em- 
pezar a trabajar con el DOS. 

A continuación se describe una ru- 



tina que actúa de forma similar al co- 
nocido comando "DUMP" del CP/M o del 
MS/DOS. 

DUMP es una de esas rutinas que se 
escriben en minutos y se emplean toda 
la vida. Su cometido, como indica su 
nombre, es "volcar" los datos de un fi- 
chero en la pantalla (o en la Impreso- 
ra). El resultado es un conjunto de lí- 
neas que muestran el contenido hexa- 
declmal y alfanumérico de todos los by- 
tes que hay en el fichero especificado. 



T.T8 



10 '«**« DUMP desde BASIC ««I 
20 1 

30 'Debe cargarse con BLQAD"DUMP.BIN" 
40 'Luego, ha de inic iai izarse 
50 'con DEFUSR=&HC000. El DUMP se 
60 'logra haciendo ?USRC NOMBRE*) 
70 * 
80 ' 

90 FORX=&HCOO0 TQ &HC12B:REA0 V$ 
100 PQKEUAL("i,H"+V$) 

no s=s+peekcx>:next 

120 CLSÜF S O 34771! THEN BEEP:PRINT" 
HAY UN ERROR" : EN0 

130 PRINT"DATAS CORRECTAS"; CHRX 10) 

140 PRINT'Pulsa una tecla para" 

150 PRINT-grabar DUHP.BIN" 

160 Z$=INKEY$:IFZ$=-THEN160 

170 BSAVE" DUMP . B I N" , 4HC00O , &HC 1 2B 

180 DATA ED,73,2C,C1,CD,A6,C0,CD,D0,C0, 

3A í B0 > F3,06,06,CB J 3F,CB,3F f 6F,26 ( 00 J 22 í 

30 f Cl ( CD»03,Cl,CD,9F,C0,3E,0C,C0 ( 95,C0, 

6C,CD,F3,C0,22,2E,C1,3A,2F,C1,CD,84,C0, 

3A,2E,C1,CD,84,C0,3E,3A,CD,95,C0,3E,20, 

CD,95,C0 

190 DATA 21,32,Cl,E0,4B,2F,Ct,C5,C5,7E, 
CD, 84, C0,3E,20,CD, 95, C0,C1,23,10,F2,21, 
32,C1,C1,C5,7E,FE,20,38,04,FE,80,38,02, 
3E,2E,CD,95,C0,3E,20,C1,23,10,EB,3E,0D, 
C0,95,C0,3E,0A,CD,95,C0,2A,2£,C1,E0,4B, 
30,C1,09 

200 DATA 18,A1,F5,1F,1F,IF,1F,CD,80,C0, 
F1,E6,0F,C6,90,27,CE,40,27,0E,02,5F,E5, 
CD,7D,F3,B7,E1 1 C9,11,32,C1,0E,1A,18,F2 ) 
06,0B,21,44,C1,AF,77,23,36,20,10,FB,06, 
18,23,77, 10, FC,13,1A,13,6F,1A, 67, 0E.09, 
U,45,Ci 

210 DATA CD,D0,C0,D8,11,4D,C1,0E,03,EA, 
D0,CO,23,7E,FE,2E,C8,FE,22,3F,C8,ED,A0, 
E0,18,F3,ll,44,Cl,0E,0F,CD,98,C0,C8,ll, 
14,C1,0E,09,CD,98,C0,ED,7B,2C,C1,C9,E5, 
21, 01, 00,11,44, Ct,0E,27,C0,98,C0, El, C8, 
18,EB,2l 

220 DATA 00, 00,22,65,C1, 22,67, C1.3A.30, 
C1,6F,22,52,C1,C9,0A,0D,46,49,43,48,45, 



52,4F,20,4E,4F,20,45,4E,43,4F,4E,54,52, 
41,44,4F,24 




10 'IWII DUMP desde MSX0QS «III 
20 ' 

30 'Debe usarse haciendo: 
40 'A>DUHP NOMBRE 
70 ' 
80 ' 

90 FQRX=&HC000 T0 ÍHC0F1:READ V$ 
100 P0KEX,VAL("iH"+V$) 

no s=s+peekíx):next 

120 CLSIIF S O 24135! THEN BEEP: PRINT" 
HAY UN ERROR" :END 

130 PRINT"DATAS CORRECTAS"; CHR$( 1*0) 
140 PRINT'Pulsa una tecla para" 
150 PRINT"grabar DUHP.C0H" 
160 2$=INKEY$: IF2$=""THEN160 
170 0PEN'DUMP.C0H"F0R 0UTPUT AStl 
180 FOR X=4HC000 T0 &HC0F1 
190 PRINTtl,CHR*(PEEKÜ));:NEXT 
200 END 

1000 DATA E0,73,F2,01,CD,A3,01,3A,B0,F3 
,D6,06,CB,3F,CB,3F,6F,26,00,22,F6,01,CD 
,C9,01,CD,9C,01,3E,0C,C0,92,01,6C,CD,B9 
,01,22,F4,01,3A,F5,01,CD,81,01,3A,F4,01 
,CD,81,01,3E,3A,CD,92,01,3E,20,CO,92,01 
,21,F8,01 

1010 DATA ED,4B,F5,01,C5,C5,7E,CO,81,01 
,3E,20,CD,92,01,C1,23,10,F2,21,F8,01,C1 
,C5,7E,FE,20,38,04,FE,80,38,02,3E,2E,CD 
, 92,01, 3E,20,C1, 23,10, EB,3E,0D,CD,92,01 
,3E,0A,CD,92,0t,2A,F4,01,ED,4B,F6,0l,09 
,18,A1,F5 

1020 DATA lF.lF.iF.lF.CD.SA.Oi.Fl.EG.OF 
,C6,90 ( 27,CE,40,27,0E,02,5F,E5,CD,7D,-F3 
,87,E1,C9,11,F8,01,0E,1A,18,F2,11,5C,00 
,OE,OF,CD,95,01,C8,11,DA,01,OE,09,CD,95 
,01,ED,7B,F2,01,C9,E5,21,01,00,11,5C,00 
,0E,27,CD 

1030 DATA 95, 01, El, C8, 18, EB, 21, 00, 00, 22 
,7D,00,22,7F,00,3A,F6,01,6F,22,6A,00,C9 
,0A,0D,46,49,43,48,45,52,4F,20,4E,4F,20 
,45,4E,43,4F,4E,54,52,41,44,4F,24 

DESCRIPCION DE LA RUTINA 

El listado de la rutina de "DUMP" no 
está todo lo optimizado posible. Me ha 
parecido oportuno separar en partes 
todas las pequeñas rutinas que com- 
ponen el listado, en lugar de construir 
un programa más estructurado. El mo- 
tivo no es otro que dejar claro que cada 
una de las partes es una pieza nece- 
saria que se usa en esta rutina en par- 
ticular y en cualquier otra que se cons- 
truya para trabajar con el DOS. Lo úni- 



_ 



11 



CALLXV 



co que puede variar es el bucle princi- 
pal, que es particular a "DUMP", pero 
los módulos de fijación del DMA (SET- 
DAM), ajuste del PCB (SETFCB), cons- 
trucción de un FCB (MAKEPCB), etc.; 
son necesarios que en casi todos lios 
programas que corren bajo el DOS. 

Dicho esto, pasemos a la descripción 
de la rutina. 

La línea 30 guarda el puntero de pila, 
a fin de restaurarlo y devolver el con- 
trol al BASIC si se produce un error (si 
no se encuentra el fichero, los datos es- 
tán deteriorados o se alcanza el final de 
éste). 

La rutina MAKEFCB (850-1180) 
toma la cadena de caracteres pasada 
desde el BASIC (apuntada por DE) y la 
transforma en un nombre de fichero 





L 


I 


S 


T 


A 




D 


o 


10 


0R6 IC000 


390 


LD HL , DMA 


770 BDQS: 


PUSH HL 


1150 


RET Z 


20 ; 




400 


POP BC 


780 


CALL «F37D 


1160 


LDI 


30 


LD (STACK).SP 


410 L2: 


PUSH BC 


790 


QR 


A 


1170 


RET P0 


40 


CALL HAKEFCB 


420 


LD A, (HL) 


800 


POP 


HL 


1180 


JR GET 


50 


CALL 0PEN 


430 


CP 32 


810 


RET 




1190 0PEN: 


LD DE, FCB 


60 


LD A,(tF3B0) 


440 


JR C, NOVAL 


820 SETDHA: 


LD 


DE, DMA 


1200 


LD C,tF 


70 


SUB 6 


450 


CP 128 


830 


LD 


CttlA 


1210 


CALL BD0S 


80 


SRL A 


460 


JR C.VAL 


840 


JR 


BD0S 


1220 


RET Z 


90 


SRL A 


470 noval: 


LD A,".' 


850 HAKEFCB: 


LD 


6,11 


1230 


LD DE, ERRO 


100 


LO L,A 


480 val: 


CALL PRINT 


860 


LD 


HL, FCB 


1240 ERROR: 


LD C,9 


110 


LD H,0 


490 


LD A," • 


870 


XOR 


6 


1250 


CALL B00S 


120 


LD (DAT),HL 


500 


POP BC 


880 


LD 


(HL) , A 


1260 exit: 


LD SP.(STACK) 


130 


CALL SETFCB 


510 


INC HL 


890 L3¡ 


INC 


HL 


1270 


RET 


UO 


CALL SETDHA 


520 


DJNZ L2 


900 


LD 


(HL)," ■ 


1280 READ: 


PUSH HL 


150 


LD A, 12 


530 


LD A, 13 


910 


DJN2 


L3 


1290 


LD HL.t 


160 


CALL PRINT 


540 


CALL PRINT 


920 


LD 


B.36-12 


1300 


LD DE, FCB 


170 


LD L,H 


550 


LD A,10 


930 L4: 


INC 


HL 


1310 


LD C,I27 


180 LO: 


CALL READ 


560 


CALL PRINT 


940 


LD 


(HL) , A 


1320 


CALL BDOS 


190 


LD (POS).HL 


570 


LO HL.(POS) 


950 


DJNZ L4 


1330 


POP HL 


200 


LD A,(P0SM) 


580 


LD BC, (DAT) 


960 


INC 


DE 


1340 


RET Z 


210 


CALL HEX 


590 


ADD HL, BC 


970 


LD 


A, (DE) 


1350 


JR EXIT 


220 


LD A, (POS) 


600 


JR LO 


980 


INC 


DE 


1360 SETFCB: 


LD HL,0 


230 


CALL HEX 


610 ; 




990 


LO 


un 


1370 


LD (FCB+33),HL 


240 


LD A,':" 


620 ; 




1000 


LD 


A, (DE) 


1380 


LD (FCB+35),HL 


250 


CALL PRINT 


630 HEX: 


PUSH AF 


1010 


LD 


H,A 


1390 


LD A, (DAT) 


260 


■ LD A,' " 


640 


RRA 


1020 


LD 


C 9 


1400 


LD L,A 


270 


CALL PRINT 


650 


RRA 


1030 


LD 


OE.FCB+l 


1410 


LD (FCB+14),HL 


280 


LD HL,0HA 


660 


RRA 


1040 


CALL GET 


1420 


RET 


290 


LD BC.(DAT-l) 


670 


RRA 


1050 


RET 


C 


1430 ERRO: 


DEFB 10,13 


300 


PUSH BC 


680 


CALL DI6H 


1060 


LD 


DE.FCB+9 


1441 


DEFH "FICHERO NO 


310 Ll: 


PÜSH BC 


690 


POP AF 


1070 


LD 


C,3 






320 


LD A,(HL) 


700 DI6H: 


AND #F 1 


1080 


JP 


PE.6ET 


145# | 




330 


CALL HEX 


710 


ADO A, 190 


1090 


INC 


HL 


1461 | 




2 


LO A/ » 


720 


DAA 


1100 6ET: 


LD 


A, (HL) 


147i STAtti 


KFNf 




CALL PRINT 


730 


ADC A, #40 


1110 


CP 


■ ■ 


1481 POS! 


KFNf 


360 


POP BC 


740 


DAA 


1120 


RET 


Z 


149f DATi 


KFNf 


370 


INC HL 


750 PRINT: 


LD C,2 


1130 


CP 


34 


1911 DHAi 


0EFS 18 




Dle por el 

La rutina OPEN ( 1 190-1220) abre el 
fichero para leerlo. El DOS pone el acu- 



mulador a cero si la apertura es exi- 
tosa. En otro caso, el sistema operativo 
no ha sido capaz de encontrar el fiche- 
ro pedido o el nombre pasado contiene 
caracteres incorrectos, y la rutina vol- 
verá al BASIC mostrando el error. 

Las líneas 60 a 120 leen el ancho de 
la pantalla (WIDTH) que se guarda en 
la variable del sistema situada en 
SPHF3BO. Al final, se coloca en DAT el 
número de datos a representar por lí- 
nea. La fórmula empleada es DAT = 
(WIDTH-6)/4. 

La rutina SETFCB ( 1360-1420) pone 
los punteros de lectura secuencial a 
cero, es decir, se indican al DOS que el 
primer registro a leer es el cero. Asi- 
mismo, se fija a la longitud de un re- 
gistro a los caracteres que contiene 



12 



una línea (DAT). 

La rutina SETDMA (820-840) fija el 
área de transferencia de datos a un 
nuevo DMA, que es un pequeño buffer 
para almacenar un registro (los carac- 



Las líneas 150-160 borran la pan- 
talla. 

La línea 170 inicializa el contador a 
cero. 

Las líneas 180 a 600 conforman el 
bucle principal del programa. Se em- 
pieza leyendo un registro y se sigue im- 
primiendo el número de línea (190- 
270). Las líneas 280 a 380 imprimen 
el contenido hexadecimal de los carac- 
teres de un registro, dejando un espa- 
cio en blanco entre los datos. A conti- 
nuación, las líneas 390 a 520 impri- 
men el código de cada carácter del re- 
gistro, mirando que no se trate de un 
código de control o de un carácter se- 
migráfico, en cuyo caso se imprime un 
punto. Por último, las líneas 530 a 600 
completan el bucle principal haciendo 
un avance de línea e incrementando el 
contador. 

La rutina HEX (630-740) escribe los 

nido del acumulador. 

EMPLEO DE "DUMP" 

Lo primero que hay que hacer cuan- 
do se tiene a "DUMP" en la memoria es 
definir la llamada con algo como: "DE- 
FUSR = &HC000". A continuación hay 
que suministrarle el nombre del fiche- 
ro que se desa volcar. El procedimiento 
a seguir se sirve de la facultad del BA- 
SIC para intercambiar parámetros con 
rutinas del usuario. Hay que hacer algo 
como: PRINT USR ("Nombre"). El in- 
térprete colocará el nombre en la me- 
moria y hará que el registro DE apunte 
al inicio de éste. La rutina, por tanto, 
sabrá dónde está la cadena gracias a 
DE. 

Lo anterior está referido al uso de 
"DUMP" desde el BASIC, siendo impo- 
sible su empleo bajo el MXSDOS. 

Ahora bien, unas pequeñas modifi- 
caciones bastan para construir un 
"DUMP" utilizable desde el MSXDOS. 

En primer lugar hay que cambiar la 
dirección de origen (SfHCOOO, en el 
caso del BASIC) y fijarla en 6PH100. El 
hecho de compilar la rutina a partir de 
la posición SPH100 no es casual, puesto 
que se trata del inicio de la TPA (Tran- 
sient Program Area). Esta zona es la 
que contiene los programas que corren 
bajo el MSXDOS (y bajo el CP/M). Cuan- 
do el MSXDOS carga un programa en 
la memoria lo ejecuta saltando a la po- 
sición fifHIOO, así que todos ellos han 
de estar diseñados para correr a partir 
de esta dirección. 

El segundo cambio es suprimir la ru- 
tina que toma el nombre y lo transfor- 
ma en un PCB válido (MAKEPCB), 
puesto que el procesador de comandos 



(C0MMAND.COM) toma el parámetro 
(el nombre del fichero) que acompaña 
al comando DUMP, construye con él un 
PCB utilizable y lo coloca en la posición 
6PH5C. Huelga decir que desde el DOS 
los ficheros ejecutables han de llevar la 
extensión "COM", así que para utilizar 
a "DUMP" deberemos llamarlo 
"DUMP.COM". 

Luego de efectuar las modificaciones 
descritas y de compilar el código en un 
fichero llamado "DUMP.COMP", podre- 
mos emplear la rutina haciendo: 
A>DUMP Nombre 

El MSXDOS comprueba si hay un 
identlficador de unidad de disco, por 
tanto valen expresiones como: 
A>DUMP B: Nombre 

La rutina hace llamadas a funciones 
del DOS para escribir los caracteres en 
la pantalla, así que el sistema operati- 
vo comprobará constantemente si se 
aborta el programa, con CTRL-C, o si se 
hace una pausa, con CTRL-S (la tecla 
STOP no sirve). Hay que prestar una 
atención particular a no pulsar por 
descuido CTRL-P, porque ello conectará 
el eco de la impresora y bloqueará el 
programa hasta que ésta se halle en lí- 
nea. 

Resta comentar que hay dos carga- 
dores de líneas DATA El primero que 
construye "DUMP.BIN", para usar la 
rutina desde el BASIC, y el segundo que 
crea "DUMP.COM", para emplearla 
bajo el MSXDOS. El listado fuente de la 
versión MSXDOS. El listado fuente de 
la versión MSXDOS no aparece, por 
cuestiones de espacio, pero puede ob- 
tenerse teniendo en cuenta las peque- 
ñas modificaciones ya dichas. 

Nótese también que "DUMP.COM" es 
escrito a partir de la apertura de un fi- 
chero secuencia!, para evitar que el in- 
térprete coloque la cabecera típica de 
los ficheros grabados con BSAVE.y que 
contiene un prefijo y las direcciones de 
inicio, final y ejecución. 

Las aplicaciones de "DUMP" pueden 
ser de las más variadas. Particular- 
mente lo empleo con frecuencia, a fin 
de tener una idea del contenido de un 
fichero olvidado, estudiar los mensajes 
de error de un programa comercial que 
no hace lo que deseo (y sacar conclu- 
siones de ellos) o mirar de qué forma 
un determinado programa comprime 
las pantallas (para poder descompri- 
mirlas); por citar sólo dos ejemplos. 

Espero que vosotros mismos descu- 
bráis otros usos de DUMP y os animéis 
a escribir pequeñas utilidades. Me atre- 
vo a sugerir que construyáis un 
"TYPE" que no pare al encontrar un có- 
digo de final de fichero (SPH1A), un co- 
mando "DHl" que muestre los ficheros 
por orden de antigüedad, un "COPY" 
que emplee la RAM DE Vídeo de los 
MSX-2 para reducir los cambios de dis- 
cos o un "COPY" que salve sólo los fi- 
cheros que han sido modificados (igual 
que el comando BACKUP, del MS/DOS). 




y completa batalla 
espacial 



Nombre y Apellidos: 



Dirección: 



I 

I Población: CP. 

Provincia: 

I □ Deseo recibir: 

l 



| El importe de mi pedido lo hago efec- 

. tivo mediante: 

I □ Cheque adjunto a nombre de: • 

i MANHATTAN TRANSFER, S A. 

1 C/RocayBatlle, 10-12, bajos. 

I 08023 Barcelona 




SPIRITS 



TOPO soft 




Formato: Caas 


stte, MSX-I 


Controles: Tec 


ladoyjoystick 



os relámpagos rasgaban la noche y la 
l^lluvia azotaba incansablemente el 
«■«rostro de Wheete, el cual, vagando por 
las llanuras, desesperaba ya de encontrar 
un cobijo. Pero un relámpago estalló delan- 
te suyo, iluminando un maltrecho castillo. 
Le pareció distinguir unos ojos mirándole 
por una ventana; pero el hecho de poder 
resguardarse de la lluvia le llevó a Damar a 
la puerta del castillo. Tras una larga espera, 
comprobó desesperado que el castillo no es- 
taba habitado y la puerta bien cerrada. Se 
dio la vuelta con el objeto de marcharse 
cuando oyó el ruido de una puerta al abrir- 
se. Con paso inseguro se adentró en el cas- 
tillo, débilmente iluminado. Como ya se es- 
peraba, la puerta se cerró a sus espaldas 
con un golpe sordo. Temeroso, comenzó a 
ca m i n ar cuando sus pies toparon con un 
objeto ligero y plano. Se agachó y recogió el 
objeto, lo reconoció rápidamente, era un pa- 
pel. Y con letra femenina, se leía lo siguien- 
te: «Por favor, quien sea que haya recogido 
esta carta, ayúdeme. Estoy prisionera en 
este castillo maldito desde hace ya meses. 
Algunos valientes caballeros han intentado 
rescatarme y prefiero no describir el final 
que tuvieron Existe una armadura que está 
hechizada y camina por los dos castillos 
(ignoro por cual de los dos habrá usted en- 
trada; pero ambos castillos están comuni- 
cados). Es imprescindible deshechizar a 
esta armadura, con lo cual podremos debi- 
litar al señor del castillo, que por una anti- 
gua maldición ha adoptado la forma de un 
águila. Odia a muerte a todos los seres hu- 
manos, de manera que usted no podrá salir 
del castillo mientras él viva. A mí me en- 
contrará vagando por las habitaciones de 
uno de los dos castillos. Por favor, rescáte- 
me...» 

Wheete entrecerró los ojos, se ajustó la 
capucha de manera que su rostro perma- 
neciese en las sombras, y conjurando a un 
poderoso espíritu que le debía un favor, lo- 
gró cerrar un trato mediante el cual el es- 
píritu le resucitaría cada vez que pereciese 
en manos de los malvados habitantes del 
castillo. Pero el espíritu sólo ofreció resu- 
citarle 3 veces. Una vez hecho esto, se pre- 
paró para la aventura y comenzó a explorar 
la primera habitación... 

Tu personaje es un misterioso encapu- 
chado, que guarda su rostro en las sombras, 
excepto la nariz, que, debido a su descomu- 
nal tamaño, no se puede esconder tan fácil- 
mente. Puede desplazarse hacia las cuatro 
direcciones, agacharse, saltar, disparar 
conjuros paralizadores y coger objetos. 

Los enemigos son bastante diversos y da- 



por Ronald Van Ctinkel, Sascha Ylla-Konneke, 
Javier Guerrero, Htrofumi Kuraoka, Willy MlragaU 



para lo cual tendremos que coger el libro, 
con el que deshechizaremos a la armadura. 
Después nos haremos con la varita para de- 
sencadenar a la princesa, y una vez hecho 
esto, sólo falta encontrar al águila. 

Los gráficos son bastante buenos. Lamen- 
tablemente no se utilizan los sprites a la 
hora de representar a los personajes, pro- 
vocando así que toda la zona que rodea al 
personaje se vuelva del mismo color que 
este último, lo cual desmerece bastante al 




programa. 



ñiños, los jorobados, fantasmas, hombres 
lobo y enanos son hechizables (los puedes 
paralizar por un tiempo), pero existen 
otros enemigos que bien por ser demasiado 
bajos (el gato) o por ser espontáneos (de- 
monios arqueros) no pueden ser hechiza- 
dos. 

El contacto con nuestros enemigos nos 
restará energía, y cuando esta se acabe, nos 
restará una vida. Lanzar un hechizo tam- 
bién nos resta energía, de manera que hay 
que procurar racionarlos. 

El contexto por el que transcurre el juego 
es un castillo, plagado de trampas (lámpa- 
ras que caen o calderos hirviendo princi- 
palmente) y de puertas que no se abrirán a 
menos que accionemos la palanca adecuada, 
que puede estar bastante lejos de la puerta 
en cuestión. También hay escaleras para su- 
bir o bajar y también agujeros en el suelo, 
que como es de suponer, son sólo para bajar. 

Lo que sin duda más destaca de este Juego 
es el tratamiento que se le ha dado a la pan- 
talla, la cual está dividida en tres zonas. La 
primera es donde transcurre la acción y por 
donde se desplaza el personaje, la segunda 
es la que indica el número de vidas, ener- 
gía..., y la tercera indica el lugar a donde te- 
nemos que ir para alcanzar un objeto o per- 
sonaje determinado (al principio sólo nos 
indica el lugar donde se encuentra la bola 
mágica, una vez cogida ésta, podremos se- 
leccionar con los números 1 al 6, 1- Libro, 
2- Varita mágica, 3- Princesa, 4- Armadura 
y 5- Aguila, en el caso de estos tres últimos, 
la ventana seguirá a los personajes por to- 
das las pantallas). 

El objetivo del juego es destruir al águila, 



POTTUACION: 



Presentación: 10 
Gráficos: 7 
Movimiento: 8 
Música: 9 
Dificultad: 9 
Total: 8 



Howard the Duck 



Acti visión 

Formato: Cassette MSX-I y MSX II 
Controles: Joystick y Cursores 
Precio: 880 Ptas. 




; 



►oward el pato estaba bailando hacía 
un minuto con todos sus amigos, 
►cuando de pronto estos desaparecie- 
ron, y Howard se quedó solo. De repente Ho- 
ward supo lo que pasaba, sus amigos esta- 
ban en la isla de Vulcano y el oscuro Over- 
lord los había raptado. Inmediatamente se 
puso en camino, compró un billete de avión 
y cuando éste sobrepasaba la isla se lanzó 
en paracaídas dispuesto a acabar con el os- 
curo Overlord y rescatar a sus amigos. 

Como habréis podido comprobar, el Juego 
no tiene que ver nada con la película del 
mismo nombre. En el Juego manejamos a 
un pato y tenemos que rescatar a nuestros 
amigos. 

El Juego comienza cuando ponemos los 



= 



"f- 



pies en la isla, después del viaje en paracaí- 
das. Durante la estancia en la isla Vulcano, 
necesitaremos un equipo completo para po- 
der acceder a los lugares difíciles, estos son: 
— Un Jet solar, que te ayudará a cruzar el 
canal que hay en la isla. 

—Un ultraligero que necesitaras para ac- 
ceder a la cima del volcan de la isla 

—Un desintegrador de neutrones portátil 
con el que te enfrentarás al oscuro Overlord 
Lo primero que tendrás que hacer des- 
pués de coger el equipo es dirigirte al canal, 
y situarte en la orilla, automáticamente se 
activará el jet solar y podrás remontar el 
canal. Cuando llegues a la otra orilla co- 
menzarán a atacarte los maniacos imitan- 
tes, seres que viven bajo tierra y que tendrás 
que liquidar a base de patadas y puñetazos. 
La operación de remontar el canal y reco- 
rrer nadando la isla, se tendrá que repetir 
varias veces hasta que llegues a un puente 
tras el cual acaba la primera fase del Juego. 
La segunda la comenzamos volando con el 
ultraligero hasta la boca del volcán, una vez 
dentro estarás en la guarida del oscuro 
Overlord donde tendrás que esquivar las es- 
talactitas que caen del techo y los agujeros 
que aparecen en el suelo. Para colmo ten- 
drás que procurar que no te acierten los dis- 
paros de energía que te lanzará el oscuro 
Overlord 

Si después de todo lo sufrido aún estás 
vivo, te faltará por realizar la última parte 
del Juego, matar al oscuro Overlord con tu 
desintegrador de neutrones. Si estás situado 
en la posición correcta podrás disparar 
contra él, y acertándole varias veces lo ma- 
tarás rescatando así a tus amigos. Pero 
¡atención!, aún no ha acabado ahí la misión, 
desde el comienzo del Juego Overlord astu- 
tamente te había dado un plazo de tiempo 
para intentar salvar a tus amigos, y había 
provocado la erupción del volcán, con su 
muerte no has conseguido que ésta se de- 
tenga y si no lo haces tú el volcán explotará. 
Para ello tendrás que dirigirte a una palan- 
ca, que moviéndola os salvará a todos de 
una muerte segura. Sólo así habrás con- 
cluido con éxito tu misión. 

Antes de comenzar el Juego, dispones de 
la opción de elegir entre cuatro niveles de 
dificultad: novato, intermedio, avanzado y 
experto. Si eliges el primero tu aventura 
acabará cuando cruces el puente y te entre- 
garán la medalla de novato o aprendiz res- 
pecto al tiempo empleado. Si has elegido la 
opción segunda terminarás en la cima del 
volcán y te será entregada la medalla dis- 
tinguida o de teniente, y los que elijan el ni- 
vel avanzado o experto y maten a Overlord 
les serán entregadas las medallas de co- 
mandante o capitán (avanzado) y commo- 
dore o almirante (experto). Hay que decir 
que en las opciones de avanzada y experta 
a la hora de remontar el canal es agobiante, 
desesperante y extraordinariamente difícil, 
teniendo que rendirse ante su dificultad. 

Howard the Duck es un juego adictivo, 
animado con unos buenos gráficos, ricos en 
colorido y un movimiento bien conseguido. 
Además también está disponible para 
MSXII. 



PU1ÍTUACI0N: ^sentación: 9 
Gráficos: 8 



Música: 7 
Adicción: 9 
Movimiento: 8 
Dificultad: 9 




Fernando Martín 
Basket Master 




Hacía mucho tiempo que los usuarios 
de ordenadores MSX pedían a gritos 
algún Juego dedicado a este espec- 
tacular deporte como es el baloncesto. Di- 
namlc fue, al fin, la que se decidió a reali- 
zarlo, y lo hizo de una manera bastante ori- 
ginal, como es llevando a nuestras panta- 
llas a un Jugador tan conocido como Fer- 
nando Martín. En el juego no tendréis que 
enfrentaros un equipo contra otro, sino que 
jugaréis tú y él solos, esto sin duda beneficia 
la maniobrabilidad del jugador, y elimina 
los posibles líos de control con que te po- 
drías encontrar si Jugara un equipo com- 
pleto contra otro. La pantalla está ocupada 
por todo el campo de Juego, cada Jugador, 
como es obvio, defiende su canasta e intenta 
encestar en la contraria. Y como si de un 
partido real se tratara podrás lanzar tiros 
de tres puntos, robarle balones a tu contrin- 
cante, tirar normal o de gancho, realizar ta- 
pones, hacer dobles, fueras, campo atrás y 
conseguir ocho tiros de mate que se ejecu- 
tan de modo automático según nuestra po- 
sición bajo la canasta, estos son: 



— De frente a dos manos. 
— De espaldas con las dos manos. 
— De lado con la mano derecha a estilo 
gancho. 

— De lado con la mano izquierda a estilo 
gancho. 

— De frente a dos manos y giro en el aire. 

— De espaldas a dos manos y giro. 

— De lado con mano derecha a estilo gan- 
cho y giro en el aire. 

— De lado con la mano izquierda a estilo 
gancho y giro en el aire. 

Bajo el campo de juego están situados los 
marcadores individuales que nos indican el 
estado de fuerza de los Jugadores, el número 
de untos que ha conseguido cada uno, y la 
falta que ha cometido (personal, dobles...). 
Hay otro indicador que marca el tiempo que 
resta para la finalización del partido. En 
cuanto a los gráficos de este juego cabe decir 
que la cancha y las canastas están bien rea- 
lizadas, pero los espectadores de las gradas 
son bastante chapuceros. Aparte de esto, los 
programadores no se han molestado mucho 
con dar a los jugadores un aspecto depor- 
tivo y real, ya que les han plantado una ca- 
beza demasiado grande y un cuerpo muy 
corto y comprimido. Tampoco se han mo- 
lestado en darles una silueta diferente, ya 
que aparte de la cabeza el resto del cuerpo 
es el mismo en los Jugadores. 

El Juego en general, es aceptable, pero ex- 
cesivamente difícil, ya que Fernando Martín 
tiene más experiencia que nosotros, se can- 
sa menos, comete menos fallos, y para col- 
mo es muy difícil (por no decir imposible) 
hacerle una jugada y dejarlo atrás. No obs- 
tante existe un truco que nos permitirá me- 

ningún problema Cuando él Snga^péloS 
dirigirnos a su canasta y saltar, entonces la 
pelota aparecerá en nuestras manos y se in- 
troducirá directamente en la canasta su- 
mándonos dos puntos. 

Hay que elogiar al gráfico de presentación 
que surge al cargar el Juego, es magnífico. 
Aparece Fernando Martín apoyado en una 
pierna, dando vueltas con un dedo a la pe- 
lota y ofreciéndonos una de sus mejores 
sonrisas. 



PUNTUACION 



Presentación: 9 
Gráficos: 7 
Gráficos: 7 
Música: 9 
Adicción: 6 
Movimiento: 6 
Dificultad: 9 
Total: 8 






V 1 


Éssel 




Traite ■ 
1 




m 



ZANAC 



PONYCA 

Formato: Cassette MSX 1/2 
Controles: Joystick/teclado 



He aqui un juego muy adlctivo, en el 
que la música contribuye positiva- 
mente a esta «adicción». 
A este juego se le puede atribuir bien el 
nombre de «matamarcianos», ya que nues- 
tra misión es la de matar marcianos, ojos y 
otros muchos seres y naves que intentarán 
por todos los medios restarnos una y otra 
vez vidas para así tener que dejar de jugar. 

En este juego hay que destacar el disparo 
de nuestra nave, ya que lo podemos mejorar 
recogiendo unas bolitas. También existen 
mas ayudas, lo que viene siendo habitual en 
los nuevos Juegos, como por ejemplo vidas 
extra, pasadizos secretos a los siguientes 
«rounds», ayuda en el disparo (aparte de la 
ya mencionada) y varios escudos diferentes. 

Como en todos los juegos de arcade aqui 
también tenemos que ir sumando puntos y 
pasar obstáculos. Los obstáculos son muy 
diversos aunque la mayoría son meteoritos, 
naves enemigas (de todas las formas y co- 
lores), cohetes, marcianos en general y 
unos ojos a los que odiaréis ya que sólo si 
los matáis podréis seguir Jugando —sobre- 
volando las tierras enemigas — lo que sin 
duda os costará mucho. 

Lamentablemente los programadores no 
quisieron hacer casi perfecto este Juego ya 
que la parte gráfica — los lugares que sobre- 
volamos — es muy pobre y repetitiva. Siendo 
la presentación, la música en sí y el resto 



del juego (con la excepción de los gráficos) 
muy buenos, tenemos que mencionar que se 
trata de un Arcade muy difícil en el que hay 
que dominar y saber todos los trucos y ayu- 
das* que nos ofrece el juego, para conseguir 
una puntuación buena. 

Este juego sin duda pondrá a prueba los 
reflejos de los más hábiles, haciéndoles pa- 
sar así buenos o malos ratos... 



PUNTUACION: 



Presentación: 10 
Gráficos: 5 
Música: 9 
Adicción: 9 
Movimiento: 8 
Dificultad: 9 
Total: 8 



SPLASH 



MIND GAMES ESPAÑA 

Formato: Cartucho y cassette 64K MSX I 
Controles: Cursores y joysück 





Parece ser que los juegos tipo Arcade se 
están volviendo a poner de moda y no 
es para menos, ya que son los que lo- 
gran que pasemos más horas delante de 
nuestra máquina, debido a sus altos índices 
de adicción y entretenimiento. Este es el 
caso de Splash, un Arcade tipleo i 
maría la atención si no fuera por , 
originalidad. 

La acción se desarrolla en una instala- 
ción de tuberías, separadas por unos grifos 
cerrados impidiendo el paso del agua. Como 
es natural, nuestra misión consistirá en 
abrirlos todos y, de esta forma, el agua po- 
drá circular tranquilamente por las tube- 
rías hasta desembocar en un gran barril 
cuya capacidad es de mil litros. Cuando este 
barril esté lleno, habremos conseguido pa- 
sar la primera pantalla y tendremos que ha- 
cer lo mismo en la siguiente, en la otra, etc... 
Pero como no sabemos nada de grifos, ne- 
cesitaremos la ayuda de un profesional de 
la materia, el fontanero, al cual tendremos 
que guiar por las tuberías hasta los grifos 
cerrados y éste nos los abrirá. 

Hasta aquí todo parece fácil. Quizás el 
único problema radica en guiar al fontane- 
ro que es algo despistado y se suele quedar 




atrás. Pero dos peligrosos seres se arras- 
tran por las instalaciones y al menor des- 
cuido que tengamos nos empujarán y nos 
harán caer a trompicones por las tuberías, 
estos son: una araña y un ratón. El más fá- 
cil de esquivar es la araña, de movimientos 
lentos y pesados; pero eludir al ratón es di- 
ficilísimo. Sus movimientos son rápidos e 
inesperados no dándote tiempo a reaccio- 
nar. La única forma de darte un respiro es 
tirarle a la cabeza una llave inglesa, y aun- 
que no lograremos eliminarle sí consegui- 
remos aturdirlo durante un rato, tiempo su- 
ficiente para abrir algún grifo. 

Pero el picaro ratón no sólo estorbará 
nuestro camino e intentará empujarnos, 
sino que también cerrará los grifos abier- 
tos, teniendo que doblar así nuestro esfuer- 
zo. 

El juego en general está bien realizado, 
sobre todo por su originalidad y adicción. 
Está animado por unos gráficos apropiados 
para su estilo y unos sprites grandes y bien 
conseguidos. En definitiva, un juego nuevo 
que gustará a los pequeños de la casa y sor- 



Presentación: B 
Gráficos: 7 
Movimiento: 7 
Música: 8 
Adicción: 9 
Dificultad: 8 
Total: 7 



GLASS 



MIND GAMES 

Formato: Cassette, MSX-I 
Controles: Cursor y joysück 



«S 



|e busca tripulante experimenta- 
ndo para formar parte de la tri- 
'pulación de la nave espacial AN- 
DROMEDA V. Aspirantes presóntensen en 
las oficinas de VIAJES A GO GO, SA.» 

¿Te apetece formar parte de esta nave es- 
pacial? Si es así, intenta pasar las pruebas 
de admisión con la mejor puntuación posi- 
ble para lograr un buen puesto en la nave y 
asegurarte un buen sueldo. Pero ten cuida- 
do, los aspirantes son muchos y las pruebas 





exigen nervios de acero y una mente que 
tome decisiones en milésimas de segundo. 
Estas son las pruebas: 

1 — Destruye a las naves que intentarán 
colisionar con tu scanner continuamente. 

2 — Desplaza tu scanner procurando des- 
truir a todos los enemigos que te aparece- 
rán por los lados, esquivando a la vez las ba- 
las que ellos te disparen. 

3— Destruye a las naves que irán apa- 
reciendo poco a poco por el horizonte, tie- 
nes que hacerlo rápidamente, antes de que 
te disparen. 

4— Esta fase es de Bonus, controlas a un 
pequeño cuadradito, con el cual tienes que 
apuntar a los radares y a los trenes de ate- 
rrizaje de las naves que aparecen por la de- 
.recha de la pantalla. 

5 — En esta prueba debes controlar tu 
nave intentando esquivar los obstáculos 
que aparecen por pantalla. 

Estas pruebas no deben aparecen nece- 
sariamente en este orden, sino que a medida 
que vayas pasándolas, aparecerá una que ya 
hayas pasado; pero con distintos gráficos o 
mayor dificultad. 

La pantalla representa el tablero de man- 
dos de una nave, en el cual están represen- 
tados el .tiempo que te resta en cada prueba, 
la energía que te queda y el número de vidas. 
En la parte de arriba hay una ventana en la 
cual aparecerán los enemigos, obstáculos, 
etc. 

Los controles son derecha e izquierda 
para mover la nave a uno u otro lado, y dis- 
paro para disparar el láser, que saldrá en 
forma de dos rayos que se paran en el cen- 
tro de la pantalla, lugar donde habrá que si- 
tuar a los enemigos antes de disparar. 

La nave se desplaza por una especie de 
pista de hielo, sobre la cual aparecerán los 
enemigos, reflejándose en el hielo. 

En la pantalla de obstáculos, hay que mo- 
verse intentando no chocar de frente con un 
obstáculo, ya que cada choque resta una 
cierta cantidad de energía, y en un choque 
de frente se pierde casi una vida. 



PUNTUACION: 



Presentación: 8 
Gráficos: 8 
Movimiento: 6 
Adicción: 6 
Música: 6 
Dificultad: 8 
Total: 7 





UCHI-MATA 



MARTE CH 

Formato: Cassette 64K. MSX I 
Controles: Cursores y Joystlck 
Precio: 



Uchl-Mata es otro de los muchos si- 
muladores de artes marciales que 
están disponibles en el mercado 
MSX. Lo que diferencia a éste de los restan- 
tes es que es el primero que está dedicado al 
Judo, antiguo arte japonés de combate sin 
armas. En la mayoría de los otros juegos de- 
dicados a las artes marciales, el protagonis- 
ta o el contrincante se defendía o atacaba 
con algún tipo de arma, como paios, espa- 
das, cadenas, bolas de fuego..., pero lo que di- 
ferencia a éste es que las peleas son cuerpo 
a cuerpo, no podemos dar patadas ni pu- 
ñetazos, nuestra misión consiste única- 
mente en agarrar y tirar al oponente. 

Este juego, como muchos otros, nos per- 
mite las posibilidades de pelear contra otro 
Jugador, contra el ordenador y también ha- 
cer prácticas contra un oponente que no 
responde a nuestros ataques. Esta última 
opción es muy importante, ya que nos per- 
mite entrenar las llaves para la pelea, que 
son de muy complicados movimientos. 

Conforme vayamos derrotando a nues- 
tros contrincantes irán apareciendo otros 
con mayor experiencia que intentarán eli- 
minarnos. Durante el desarrollo de la pelea 
estaremos bajo los atentos ojos de un juez 
que dará su puntuación a cada Jugador des- 
pués de que halla caído al suelo alguno de 
ellos. Además también se nos mostrará la 
posición de los pies en el momento en que 
se vaya a hacer la llave, y el aguante o fuer- 
za de cada Jugador. 

El Juego ha sido diseñado bajo el aseso- 
ramiento de uno de los mejores luchadores 
de judo del mundo. Es un juego muy com- 
pleto y da una buena sensación de realidad. 
Acompañado de unos gráficos apropiados y 
un movimiento bastante real pero mejora- 
ble, «Uchi-Mata» es un juego original y 
aceptable, que a buen seguro os gustará a 
todos, después de haber superado su difícil 
manejo. 

Cabe mencionar la cantidad de llaves que 
puedes hacer a tu oponente durante el com- 
bate, más de ocho en todas direcciones. El 
combate lo vencerá el jugador que reúna el 
mayor número de puntos, pero también 
puede ser ganado antes de que terminen los 
dos minutos de tiempo, por medio de una 
llave mortífera que te lanzará por los aires 
y te dejará K.O. El nombre de esta llave es 
el mismo que el del Juego, «Uchi-Mata». 



PUNTUACION: 



Presentación: 8 
Gráficos: 7 
Sonidos: 7 
Adicción: 8 
Movimiento: 6 
Dificultad: 8 
Total: 7 




YA ESTA A LA 
VENTA ELE 7 



DE 



o3 



tí 

ce 



CQ 

O 






SPEED KING 



Mastertronic 
Formato: Cassette, MSX-I 
Controles: Cursores y Joystick 



Speed King es un Juego en el que ten- 
dremos que demostrar nuestras cua- 
lidades como piloto de motos de gran 
cilindrada. Recorreremos los mejores cir- 
cuitos del mundo y competiremos procu- 
rando conseguir la mejor posición y bus- 
cando hacer la vuelta más rápida al circui- 
to. 

En la parrilla de salida habrán veinte mo- 
tos delante tuyo, a las que tendrás que ade- 
lantar procurando no chocar con ellas ni 
salirte de la calzada, ya que acabarás por los 
suelos y perderás a los demás püotos (los 
cuales nunca se caen ni tropiezan los unos 
con los otros). Pero tu moto es más rápida 
que las demás, consta de seis velocidades y 
puede alcanzar en recta hasta los 250 km/ 
h, con lo que si te arriesgas tomando las 
curvas en quinta o sexta marcha podrás al- 
canzar a los restantes pilotos sin muchos 
problemas. Pero hay que tener en cuenta 
que existen dos tipos de curvas, las nor- 
males que las puedes pesar a altas veloci- 
dades y las cerradas y peligrosas, en las que 
se tiene que reducir considerablemente la 
velocidad y tomarlas con cuidado. Pero si 
además os encontráis con una de estas cur- 
vas en medio de la cadena de motos, es bas- 
tante probable que terminéis por los suelos. 

El juego en general es bastante completo, 
pudiendo elegir muy variadas opciones. Po- 
drás elegir entre diez famosos circuitos del 
mundo (San Marino, Italia, Silverstone, 
Paul Ricard...) entre tres niveles de dificul- 



tad, el número de vueltas, en recorrer el cir- 
cuito visualmente para comprobar su difi- 
cultad, y en practicar tú solo en el circuito 
que elijas. 

que no se ve más que el circuito y ningún 
decorado a los alrededores. Por otra parte 
los gráficos de las motos y los bordes de la 
carretera no están hechos punto por punto, 
sino que más bien parecen hechos en 
screen 3. El movimiento 
bien conseguido dando 
ción de realidad. 

Cabe decir que es un juego bastante adic- 
tivo y original, el primero que trata el tema 
de las motos para MSX, pero que si los pro- 
gramadores se hubieran molestado en me- 
jorar los gráficos sin duda hubiera sido un 
excelente juego. 



competiciones y con ello también faltan los 
himnos nacionales. Después de no haber 
podido elegir tu país, sí puedes elegir entre 
estas diferentes opciones: 

1 — compete in all events 

2 — compete in some events 

3— compete in one event 

4— practico one event 

5— seleét nu 




Tras elegir la opción de competir tendre- 
mos que introducir nuestro nombre. 

Otra cosa que hay que mencionar es que 
en esta adaptación faltan muchos «events», 
con lo que el juego pierde bastantes alicien- 
tes cosa que no ocurre en la versión de Com- 
modore y se hace muy corto y hasta mo- 
nótono si se juega mucho. 

Para los usuarios de MSX quedan estas 
competiciones: 

1— Hot dog 

2 — Speed skating 

3 — Ski jump 
con lo que faltan: 

— Figure Skating 

— Free £ 



PUNTUACION: 



Presentación: 6 
Gráficos: 5 
Música: 7 
Adicción: 8 
Movimiento: 7 
Dificultad: 8 
Total: 7 




WINTER GAMES 



BPYX 

Controles: Teclado o joystick 
Formato: Cassette MSX1 

* 



_ 



Seguro que casi todos los amantes de 
los videojuegos han oído hablar de 
este soft de «juegos olímpicos de in- 
vierno». Ahora nos llega la versión para 
MSX, pero lamentablemente esta versión 
deja algo que desear si se la compara con la 
de otras máquinas. 

En primer lugar echamos en falta el po- 
der elegir el país al que representas en estas 



Después de cada «event» nos es mostrado 
el ganador y la calificación de los otros ju- 
gadores, recibiendo los 3 primeros una me- 
dalla. Las medallas dan puntos y el que tiene 
al final más puntos es el vencedor de estos 
emocionantes juegos de invierno. 

Quiero remarcar otra vez la poco adecua- 
da adaptación para los MSX aunque esto 
puede ser debido a que el juego no se va car- 
gando event por event, sino, al contrario, de 
un golpe. (Lo primero no habría sido pro- 
blema y no defiende la versión...) 

Otro defecto en la versión MSX es que en 
las instrucciones vienen descritas todas las 
competiciones o pruebas aunque, como ya 
he mencionado, no se puedan jugar todas. 

Si queréis oír unas pequeñas melodías 
sólo tenéis que esperar un poco antes de 
competir, o sea cuando salga la pantalla del 
event esperar unos segundos. 

Presentación: 4 
Gráficos: 9 
Música: 7 
Adicción: 8 
Movimiento: 8 
Dificultad: 7 
Total: 7 




NUMEROS ATRASADOS • NUMEROS ATRASADOS 




MSX 34, 225PTAS. 



MSX 35 275 PTAS. 



¡LA 1. a REVISTA DE MSX DE ESPAÑA! 

PARA QUE NO TE QUEDES CON LA COLECCION INCOMPLETA SOLO TIENES QUE ENVIAR HOY 
MISMO EL BOLETIN DE PEDIDO CON TUS DATOS PERSONALES A «SUPER JUEGOS EXTRA MSX» 
-DPTO. SUSCRIPCIONES C/. Roca i Batlle, 10-12, 08023 Barcelona. 
— — BOLETIN DE: 



r 



Deseo recibir los números 



de SUPERJUEGOS EXTRA I 



para lo cual adjunto talón del Banco 

Nombre y apellidos 

Dirección 



n. c 



a la orden de Manhattan Transfer, S A 



Tel.: 



^Población DP. 



Ppqv ' ,r, ° 86 admite contrarreembolso» 




SONIMAG 87: LA GRAN FERIA DE 
LA IMAGEN Y EL SONIDO 




Pese a que aparentemente tengan poca 
relación con nuestra publicación, 
queremos resaltar las principales no- 
vedades que encontramos en esta edición de 
la Feria Internacional del Sonido y de la 
Imagen (80NIMAG). 

Esta edición de SONIMAG ha sido espe- 
cialmente interesante ya que representa el 
28 aniversario de este escaparate para la 
electrónica más actual. 

Hay que destacar la nutrida presencia de 
empresas relacionadas con el estándar 
M8X, que por primera vez han conseguido 
que éste tenga un papel relevante en esta fe- 
ria (hasta ahora acaparado por multinacio- 
nales como AM8TRAD). 

En el campo informático hay que destacar 
la aparición del AMSTRAD P-1640, un com- 
patible PC que incorpora, como opción más 



destacable unos gráficos en color de Upo 
EGA. EGA (Enhanced Graphics Adapter) es 
un dispositivo que permite que los compa- 
tibles PC puedan funcionar con una reso- 
lución gráfica similar a la de los MSX de se- 
gunda generación. 

Esta característica hace que este ordena- 
dor se convierte en uno de los más deseables 
en el difícil mercado PC. Su precio, aun en 
la línea AMSTRAD de bajo coste, se eleva 
por encima de las 200.000 pesetas. 

Por este y otros motivos no constituirá un 
rival Importante para los MSX de segunda 
generación, que además de su excelente re- 
solución incorporan memoria de VRAM se- 
parada y comandos de diseño y 8CR0LL por 
hardware, aparte de la utilización de spri- 
tes. Queremos remarcar, por tanto, que pese 
a su excelente calidad de imagen, no deben 
temer nada los usuarios de MSX-2. 

También dentro del apartado informático 
de la feria, encontramos dos interesantes 
novedades, que en realidad no son tales. 

La primera de ellas es la aparición de dos 
nuevos modelos de la conocida firma Com- 
modore. Se trata de AMIGA 600 y AMIGA 
2000. Estos ordenadores son, sin duda al- 
guna, los mejores ordenadores domésticos 
existentes en la actualidad Commodore, 
hace ya un par de años, lanzó al mercado un 
revolucionario ordenador, AMIGA, que no 
tuvo prácticamente ninguna aceptación de- 
bido a su carencia total de software. 

Ahora Commodore vuelve al ataque, y 
aparentemente con el mismo inconvenien- 
te, la falta de software. Este problema, de- 
bido a su total incompatibilidad con todos 
los sis temas actuales es probablemente el 
handicap que deberá resolver Commodore 
si quiere que sus productos tengan acepta- 
ción. Veremos qué novedades nos depara en 
el futuro. 

También ATARI relanza una nueva ver- 
sión de su modelo 820-ST. El ATARI 1040- 
ST no se queda, corto en prestaciones si lo 
comparamos con AMIGA (aunque sea algo 




inferior en velocidad y prestaciones); pero 
tiene su mismo inconveniente, la total in- 
compatibilidad y el escaso software desa- 
rrollado. Como en el caso de AMIGA, y su 
anterior modelo, ATARI 620-ST pasó prác- 
ticamente desapercibido en nuestro mer- 
cado. 

Saliendo del mundo informático encon- 
tramos otras novedades de interés en esta 
edición de SONIMAG. Tal vez la más espec- 
tacular sea la presentación, por parte de 
SONY, del DAT (Digital Audio Tape) que 
consigue conjuntar la tecnología digital del 
Compact Di8c con la posibilidad de graba- 
ción y reproducción, por tratarse de una 
cinta magnética. 

Este producto empezará a comercializar- 
se en breve en Alemania, y su implantación 
en España se retrasará hasta observar los 
resultados obtenidos en ese país europeo. 
Por el momento su precio será algo elevado, 
calculándose éste alrededor de las 250.000 
ptas. 

También por parte de SONY una implan- 
tación decisiva, ya que por primera vez se 
comercializa en España un sistema integra- 
do que compagina el VIDEO-DISCO, y la más 
avanzada tecnología informática. Este sis- 
tema integrado permite la realización de se- 
siones interactivas con el VIDEO-DISCO, ob- 
teniéndose una respuesta instantánea con 
sólo pulsar una zona de la pantalla. Gracias 
a esta tecnología, se consigue que un orde- 
nador dé una información totalmente per- 
sonalizada, conjuntando Imagen de vídeo 
con imagen de ordenador. 

Por último comentar la aparición del ví- 
deo de alta definición, que pese a estar ex- 
puesto en la feria, no se comercializará por 
el momento en nuestro país debido a la uti- 
lización del sistema PAL, al cual no está to- 
davía acondicionado dicho aparato. 

Estas son las novedades más espectacu- 
lares; pero SONIMAG-87 se ha caracteriza- 
do por la presentación de un verdadero to- 
rrente de éstas, en todos los campos: vídeo 
profesional, música, informática, etc. 



MCP-4026 EL 
MONITOR IDEAL 

Elbe, mediante su sección de microsis- 
temas, presentó recientemente un 
nuevo y excelente monitor compati- 
ble con todo tipo de computador personal 
con salida compuesta o sistema de video- 
cassette y video disco. Su conexionado no 
puede ser más sencillo, mediante conector 
tipo Jack. Opclonalmente, el monitor mo- 
delo MCP 4026 puede equipar un altavoz de 
audio. Integra un tubo de rayos catódicos 
tipo Tv de 14 pulgadas, con un ángulo de de- 
flexión de 90 grados, siendo el diámetro del 
cuello de 29,1 mm. 

Dispone de entrada de señal de vídeo com- 
puesta sistema PAL. Entrada de señal de los 
datos de 1,0 Vpp. La impedancia de entrada 
de la señal de vídeo es la usual de 18 ohmios. 
El barrido es de 16,628 Khz de frecuencia 
horizontal v de 50 Hz de frecuencia vertical. 




Posee controles exteriores de volumen y 
brillo en el frontis, interruptor, color, con- 
traste, centrado vertical, horizontal y con- 
mutador selector de señales de entrada en 
parte trasera. 

Otras características técnicas son: 

Vídeo, amplificación lineal, resolución 
horizontal en el centro de 260 líneas. Area 
de Visualización recomendable de 240 mmi 
145 mm. Caracteres de 8x8 puntos. 

Potencia de salida de audlo: 1,2 W. 

Entrada de red: 220 V CA ± 10 %. 

Consumo: 75 W 

Condiciones de funcionamiento: tempe- 
ratura, desde a 40 grados centígrados. 

Humedad desde el 20 % hasta el 80 %. 

Para mas información dirigirse a ELBE 
Microsystems. C/ Moyanes, 19-27, 08014 
Barcelona. Tal: 421 11 11. 



¿sen 

ASCII CORPORATION 



FRMTK 
BERBERICH 
AFIRMA: «No 
habrá MSX 3» 

El pasado día 29 de septiembre, duran- 
te la vigesimoquinta edición de 8o- 
nimag nuestra Directora Ejecutiva, 
Birgitta Sandberg Junto con Javier Guerre- 
ro y Wüly Miragall celebraron una amigable 
comida con Prank Berberich, Director de la 
Sección Internacional de ASCII CORPORA- 
TION/División MSX, en el transcurso de la 
cual se abordaron temas que seguro que in- 
teresarán a nuestros lectores. 

En primer lugar, interrogado acerca de la 
noticia que ha publicado INPUT MSX sobre 
los MSX 3, en la cual se afirmaba que estos 



nuevos MSX estarían basados en el micro- 
procesador INTEL 80386 (que incorporan 
los nuevos equipos de IBM) se mostró mas 
que asombrado con semejante que desmin- 
tió categóricamente. 

Es decir, es absolutamente falso que la 
próxima generación de MSX esté basada en 
el microprocesador anunciado por INPUT, 
lo cual demuestra su exuberante capacidad 
imaginativa y el poco rigor de sus fuentes 
de información. Señores de INPUT: Los bu- 
los a todo color también son bulos. 

La próxima generación de MSX, que está 
en la última fase de su desarrollo, no se lla- 
mará MSX 3. En esta nueva generación 
existirán simultáneamente máquinas muy 
diversas, como serán el MSX-E, destinado a 
la enseñanza; el MSX-G, pensado para los 
Juegos, etc. De todos modos, tan pronto 
como recibamos información al respecto de 
ASCII nuestros lectores serán los primeros 
en enterarse (como siempre). 

Así pues estos nuevos MSX estarán ba- 
sados — al igual que sus antecesores — en el 
Z80, aunque se añadirán coprocesadores es- 
pecíficos para gráficos, sonido, etc. con lo 
que se optimizarán el rendimiento y la ve- 
locidad. 

Mr. Berberich se mostró muy interesado 
en mantenerse en contacto permanente con 
nuestras publicaciones, las únicas que me- 
recen su entera confianza que circulan re- 
gularmente en ASCII Japón, e incluso se 
mostró interesado en colaborar en ellas, 
por lo que desde aquí anunciamos que pron- 
to tendremos su autorizadísima firma en 



Otro avance acerca de MSX es que sus 
equipos ya se están utilizando regularmen- 
te en entornos telemáticos en Japón y en 
otros países, y que — Telefónica mediante — 
pronto podrán utilizarse análogamente en 
España. Ampliaremos informaciones en 
próximas ediciones de nuestras revistas, 
que como podéis ver son las más int 
clónales de nuestro país referidas al < 
dar MSX. 



NUEVO SOFT 

Coincidiendo con la celebración de S0- 
NIMAG 87, la conocida firma PROEIN 
ha lanzado tres nuevos títulos al mer- 
cado MSX. 

En esta ocasión, y a diferencia de lo que 
ha ocurrido con otros juegos, se trata de 
versiones originales para MSX, es decir, no 
se trata de adaptaciones de juegos de otros 
ordenadores, por lo que aprovechan en gran 
medida todas las posibilidades que ofrecen 
nuestros ordenadores. 

Los títulos de estos nuevos Juegos son 
«DEMONIA», «MAZE MAX» y «RUNNER». 

MAZE MAX es un interesante Juego de 
conducción, en el que debes recoger un gran 
número de banderas que encontrarás en tu 
camino. Una lucha por recorrer kilómetros 
con el menor combustible y esquivando a to- 
dos los oponentes, que intentarán dejarnos 
fuera de combate en todo momento. 



RUNNER, en cambio, es un Juego de aven- 
turas, en que debes recoger diferentes ob- 
jetos y ofrecérselos a unos personajes de- 
terminados para conseguir llenar al final 
del programa. 

Finalmente, DEMONIA es un terrorífico 
Juego, en el que debes enfrentarte a las fuer- 
zas del mal que ve invadidos sus dominios 
y amenazado su poder. 



LO ULTIMO 



DEHAL 




Lo último de HAL en el mercado M8X 
es un cartucho que se comercializa a 
partir de ahora en España. Su nom- 
bre, PLANETA MOVIL. 

Este Juego, con unos excelentes gráficos y 
una muy iograda animación, nos sitúa en el 
interior de una nave estelar. 

Debemos recorrer una interminable serle 
de corredores, destruyendo a toda clase de 
alienígenas, recogiendo algún que otro ob- 
jeto, y localizando ascensores y puertas se- 
cretas que nos conducirán a nuevos niveles 
de Juego. 

Para defendernos de todos estos enemigos 
sólo disponemos de nuestra arma láser. Y 
atención, algunos de ellos son sumamente 
inteligentes, y no se dejan disparar as como 
as. Un interesante Juego para ampliar vues- 
tra programoteca con un nuevo título. 

Pero en estos últimos tiempos HAL ha 
trabajado duro, y nos sorprende con otros 
dos excelentes títulos. El primero de ellos es 
DUNK-SHOT, uno de los mejores Juegos de 
baloncesto en MSX que, a diferencia de 
otros muchos títulos, incluye el control de 
varios jugadores en cada equipo. 

Otro título de interés para los usuarios 
del estándar es EGGERLAND, un Juego apa- 
rentemente simple; pero que se complica 
extremadamente en niveles superiores. Es 
una perfecta combinación entre acción a In- 
teligencia. Os lo recomendamos si os gusta 
pensar en los juegos. 

Por último decir que estos y otros juegos 
de HAL son distribuidos por ZAZA Software. 

ZAZA Software 

C/ Loreto, 2 

Tel.: 322 7 03 
417 69 75 

08029 BARCELONA 



21 



ASCII 
Corporation en 
España 

Como ya habíamos anunciado, Mr. 
Prank Berberich, director de la sec- 
ción internacional de ASCII Corpora- 
tion, realizó una visita a nuestro país para 
estudiar y potenciar la situación actual de 
los MSX en España. Esta visita, así como 
otros contactos de gran interés, son el fruto 
de nuestra política de relaciones internacio- 
nales que nos están permitiendo acceder a 
novedades en exclusiva, e informar a los im- 
portadores españoles de los productos exis- 
tentes en otros mercados y del nivel de 
aceptación que estos tienen. Prueba de ello 
son, por ejemplo, SUPER RAMBO ESPECIAL 
(ya comercializado en España) y que co- 
mentamos en absoluta primicia, TÜBJBO 
5000, y otros programas y periféricos de los 
que hablaremos más adelante. 

ASCII Corporation, como ya sabrán mu- 
chos de nuestros lectores, es la compañía 
creadora del estándar MSX. Todas las deci- 
siones de alto nivel parten de ella. Una de 
las más importantes en estos momentos es 
el desarrollo de una nueva generación de 
MSX. 

Mr. Frank Berberih visitó nuestras ins- 
talaciones en SONIMAG-87, teniendo con 
nosotros una intensa jornada de trabajo, en 
que comentamos entre otros muchos temas 
el futuro de los MSX, que mantendrán la 
compatibilidad por encima de todo, los nue- 
vos periféricos y programas que están sien- 
do desarrollados en Japón, y la práctica se- 
guridad de que los MSX serán los ordena- 
dores más destacados en la olimpiada de 
Seúl-88, ya que serán instalados como ter- 
minales inteligentes de TELE-TEXTO, infor- 
mando a atletas, periodistas, etc. de todos 
los incidentes y datos relativos a tal acon- 
tecimiento deportivo. Esto último demues- 
tra la enorme implantación ue los MSX es- 
tán teniendo en el campo de las comunica- 
clones en el resto de países del mundo. 

Y aún hay más, mucho más... En próxi- 
mos números desarrollaremos con más de- 
talles todos los temas tratados con Mr. Ber- 
berich, que nos confirmaron el esperanza- 
dor futuro que los MSX tienen que Jugar, en 
nuestro país, y en el resto del mundo. 



SPEEDKING 
AUTOFIRE 

ERMA presenta una nueva versión del 
^^conocido joystick de KONIX, SPEED- 
fc^KING. La primera versión, caracteri- 
zada por su gran ergonomía (comodidad y 
facilidad de uso), no se deja de fabricar, sino 
que, al contrario, se suministrará a partir 
de ahora con un videojuego de regalo. 



i JJ 



Ya lo sabéis. Por el precio de SPEEDKING 
conseguiréis también un Juego de actuali- 
dad, incluido en la caja con el Joystick. 

Pero KONIX también ha querido crear 
algo nuevo, el SPEEDKING AUTOFIRE. Gra- 
cias a esto será más fácil derrotar a las in- 
gentes avalanchas de alienígenas que perió- 
dicamente invaden las pantallas de nues- 
tros MSX. Como muchos ya sabréis, el AU- 
TOFIRE consiste en un interruptor que per- 
mite la repetición automática del disparo, 
con lo que podemos concentrarnos única- 
mente en esquivar a los diferentes enemi- 
gos y dificultades que encontraremos a lo 
largo de nuestros Juegos preferidos. 



MAZE OP 
GALIUS 

Nuevo MEGA-ROM de Konami 

Un castillo mágico que, en realidad, 
no era sino una secreta trampa ten- 
dida por el máximo mandatario del 
mal, Galius. 

Afrodita fue capturada por los oscuros 
Hunos y tú debes rescatarla. Debes tener en 
cuenta los terribles peligros que te esperan 
dentro del castillo, una trampa tendida es- 
perando tu aparición. Nadie consiguió salir 





nunca de 
KONAMI, i 

senta su último MEGA-ROM para los MSX: 
The Maze of Galius, que, a diferencia de 
otros títulos, está preparado para funcionar 
en cualquier ordenador del estándar, y no 
únicamente en los MSX de segunda gene- 
ración. Esperamos poder comentar en bre- 
ve este interesante programa. 

SERMA también nos presenta otro de los 
últimos desarrollos de KONAMI. Se trata de 
Q-BERT, el popular Juego de ATARI, ahora 
desarrollado on unos excelentes gráficos 
para los MSX. 

Q-BERT debe saltar sobre los cubos de co- 
lores y hacerlos girar. Si consigues alinear 
cinto cubos en línea, ipremio! Y aunque la 
cosa parece fácil... 

Además permite que participen dos Ju- 
gadores simultáneamente. 



ALBUM DE 



PLATINO 



Software excepcional a un precio 
excepcional 

Sfcios productos de KONAMI en nuestro 
fc^país, lanzó hace ya unos cuantos me- 
ses una serie de programas en cinta en- 
marcados dentro de la serie CODE MAS- 
TERS. 

Algunos de estos Juegos ya han sido co- 
mentados en nuestra sección BIT-BIT, te- 
niendo una interesante calidad todos los co- 
mentados hasta el momento. 

En vista del interés que ha generado esta 
serie de programas de bajo precio, SERMA 
acaba de anunciar el lanzamiento de su pri- 
mer ALBUM DE PLATINO. 

El álbum de platino no es más que una re- 
copilación de cuatro títulos de la serle CODE 
MASTERS, cada uno con su propia cinta, en 
un estuche plateado que permite la conser- 
vación de las cintas en el mismo. 

Pero lo más interesante de este primer ál- 
bum de platino es su precio, ya que las cua- 
tro cintas, con el estuche, costarán aproxi- 
madamente 2.000 ptas., precio que sitúa es- 
tas cintas dentro de las más asequibles que 
pueden encontrarse actualmente en nues- 
tro mercado. 



22 



4.° GRAN 
BE 



CONCURSO 




COMO DE COSTUMBRE... ¡PREMIAMOS LOS MEJORES PROGRAMAS! 
ITRO CONCURSO ESE PROGRAMA DEL QUE TE SfflTES 




BASES 



1. Podrán participar todos nuestros 
lectores, cualquiera sea su edad. 

2. Serán aceptados a concurso pro- 
gramas tanto para la primera 
como para la segunda generación 
de MSX. Estos programas podrán 
ser enviados en cinta de cassette, 
debidamente protegidos en su es- 
tuche de plástico, o en disco de 3,5 
pulgadas. En este último caso se 
remitirá al participante un disco 



CORTAR O FOTOCOPIA* 

I 



virgen a la recepción del progra- 
ma enviado. 

3. Todos los programas deberán lle- 
var la carátula adjunta, o bien fo- 
tocopia de la misma. 

4. Cada lector puede enviar tantos 
programas como desee. 

5 . No se aceptarán programas ya pu- 
blicados en otros medios o plagia- 
dos. 

6. Los programas deben seguir las 
normas usuales de programación 
estructurada, utilizando líneas 
REM para marcar todas sus par- 
tes, subrutinas donde sean nece- 
sarias, etc. 



7. Todos los programas deben in- 
cluir las correspondientes ins- 
trucciones, lista de las variables 
utilizadas, aplicaciones posibles 
de programa y todos aquellos co- 
mentarios y anotaciones que el 
autor considere puedan ser de 
interés para su publicación. 



PREMIOS 



8. Los programas serán premiados 
mensualmente, de modo acorde 
con su calidad, con un premio en 
metálico de 2.000 a 18.000 ptas. 



FALLO Y JURADO 




TITULO 



CATEGORIA 

PARA K 

INSTRUCCION DE CARGA 

AUTOR: 
EDAD: 

CALLE: N.° 

CIUDAD DP TEL.: 

N.° DE RECEPCION 



9. El Departamento de Programa- 
ción de MSX Extra hará la selec- 
ción de aquellos programas de 
entre los recibidos según su cali- 
dad y su estructuración. 
10. Los programas seleccionados 
aparecerán publicados en la re- 
vista MSX Extra, en la que se pu- 
blicará, junto con el programa, 
la cantidad con que ha sido pre- 
miado. 

Las decisiones 
inapelables. 

Los programas no se devolverán 
salvo que así lo requiera el autor. 



11. 
12. 





REMITIRA: 
CONCURSO MSX 
EXTRA 

RocaiBatlle, 10-12 
bajos 

08023 Barcelona 



Hardware MSX-2 




Seguimos con el repaso a los slots que iniciamos en nuestro pasado número. Hoy trataremos algunas nuevas 
rutinas para el control de los diferentes slots existentes en los MSX, sean de primera o de segunda 

generación. 



Bn el pasado número indicába- 
mos las rutinas que permitían 
acceder y modificar el selector 
de slots de nuestros MSX. De esta for- 
ma podemos seleccionar los slots que 
deseemos de nuestro ordenador. 

Pero el primer problema con que nos 
encontramos al intentar utilizar los 
slots en diferentes MSX es conocer en 
cuál de ellos se encuentran los distin- 
tos componentes de la memoria: me- 
moria ROM, memoria RAM, etc. 

El un MSX, llamémoslo A, la memo- 
ria RAM correspondiente a la página O 
puede encontrarse en el slot 2, mien- 
tras que en otro MSX, B, puede encon- 
trarse en el slot 1. 

Si nosotros lo que queremos es co- 
nectar esa zona de RAM, ¿qué slot de- 
bemos conectar? 

Existe un método seguro para cono- 
cer la posición de la RAM, consistente 
en ir buscándola por todos los posibles 
SLOTS. Supongamos que queremos lo- 
calizar la RAM correspondiente a la 
página de nuestro MSX. Lo primero 
que haremos es conectar el slot de la 
página 0. Abora sólo tenemos que de- 



ROM o por RAM. Para saberlo, escri- 
bimos un dato en una posición deter- 
minada de memoria, y a continuación 
lo leemos de la misma. Si dicho dato ha 
cambiado significa que estamos sobre 
una zona de memoria ROM (el dato que 
hemos escrito no ha sido memoriza- 
do). 

Un consejo: no escribáis datos co- 
munes como ó 255 que puedan en- 
contrarse por casualidad en esa zona 
de la ROM. Buscad un dato poco usual, 
como 118 (6PH76), que corresponde a 
la instrucción HALT de ensamblador. 

i localizado RAM, nuestra 
ha terminado; pero si en 
hemos localizado ROM, hemos 
i seguir buscando por los slots 1, 2 y 
hasta localizar la Zona de RAM. 
[Atención! Puede que nuestro ordena- 
dor no cuente con esa zona de RAM. Es- 
tad atentos a todas las posibilidades. 
Damos un ejemplo de todo este proceso 
en el listado 1 , utilizando para eUo nue- 
vas rutinas que comentamos un poco 
más adelante. 

Localizar la ROM es mucho más fá- 
cil. En la inmensa mayoría de los MSX, 
se halla en las páginas y 1 del slot 0. 
Decimos la inmensa mayoría aunque, 
en España, son todos. Sin embargo hay 





programa se halla ocupada por la 
ROM-BIOS. 

El problema aparece cuando utiliza- 
mos una unidad de disco y nos encon- 
tramos en MSX-DOS o en CP/M. Al car- 
garse nuestro programa no hallará 
más que RAM. Para solucionar este 
problema, y cualquier otro caso en el 
cual haya dudas, existe una posición de 
memoria que contiene información 
acerca de la situación de la ROM-BIOS. 
Se trata de EXPTBL, que indica el slot 
en que se encuentra la ROM principal. 
EXPTBL se encuentra en la dirección 
&HFCC1, y la forma de interpretar su 
contenido podéis observarla en la fi- 
gura 1. 

NUEVAS AYUDAS 

Si nuestro programa se limita a co- 
nectar la configuración de slots más 
apropiada, y se olvida de los slots a 
partir de ese momento, no tendremos 
más problemas. 

Pero es muy normal que mientras el 



pensamos que nuestros programas 
pueden llegar a otros países. 

Si nuestro programa se encuentra 
en cinta y debe cargarse desde el BA- 
SIC, no tenemos ningún problema: la 
ROM se encuentra en las páginas y 1 
que utiliza el BASIC. Sólo tenemos que 
leer el estado actual del selector de 
slots. 

Si nuestro programa se encuentra 
en un cartucho ROM, la página en el 
momento de comenzar la ejecución del 




una serie de ru- 
tinas que nos harán mucho más fácil 
esta tediosa tarea. 

* RDSLT (SPHOOOC): Lectura de un 
byte en un determinado slot. 
A <- Slot 
HL <- Dirección 
A <- Dato leído 

Esta rutina permite leer un byte de 
cualquier posición de memoria de cual- 
quier slot. Para ello basta con indicar 
en el registro HL la dirección de la que 
debe leer y en el registro A el slot al que 



MSB 



7 é 5 4 3 2 1 

T— T 



N,U, 



LSB 



Numero del SLOT principal 
Nunero de SUB-SLOT 



■) "1" si se utilizan SUB-SLOTS 



O, -) Bits no utilizados, 



Figura 1 



24 



queremos acceder (en el formato de la 
figura 1). 

Si queremos leer datos de la ROM 
principal debemos colocar a cero los 6 
bits de mayor peso, e indicar con los 
bits y 1 el slot al que queremos ac- 
ceder. 

Modifica los registros AF, BC y DE. 

* WBSLT (6PH0014): Escritura de un 
byte en un determinado slot. 

A <- Slot 

HL <- Dirección 
E <- Dato a escribir 

Esta rutina permite escribir el byte 
especificado en el registro E a la direc- 
ción indicada por HL, en el slot espe- 
cificado en el registro A (según el for- 
mato de la fig. 1). 

Modifica los registros AF, BC y D. 



IY <- Slot 

IX <- Dirección 

Esta rutina realiza un salto a la di- 
rección indicada por IX, del slot que in- 
diquen los 8 bits mas altos del registro 
IY (en el formato de la figura 1). Hay 
que estar seguros de que en el 
slot indicado exista la rutina que pre- 
tendemos llamar. 

Modifica los registros variablemen- 
te, dependiendo de la rutina a la que se 
llame. 

* ENASLT (G?H0024): Intercambia 
los slots. 
A <- Slot 

HL <- Página 

Conecta el slot especificado en el re- 
gistro A (según fig. 1 ) en la página que 
indiquen los dos bits de mayor peso del 
3tro HL. 

todos los registros. 











■ 


PAGE 


i 

X 




LISTADO 1 




i 

X 

2 






Ur\U 


OS P OS OS OS M 

yj U/ vj t'iyn 


*— 1 






RDSLT: EQU 


yjyjyj i—, n 


4 

r 

5 






WRSLT: EQU 


(ACA 1 4N 
yj yj itn 


6 


C000 


AF 




A 


7 


C001 


3235C0 


i n 


(SLGT) , A 


LD B 






DACA. 




9 


C004 

w YJ YJ ~ 


*— • n • o i-* yj 


i n 


Plj \ JLU 1 / 


1 


C007 


\ F7A 

XI—/ W 




F 7AH 


1 1 

X X 


P009 


21 FF^F 


i n 

L_Lv 


riL ¡i --'i r r n 


X 




rn i aosos 

v_ U X ~ rL' YJ 


PAI 1 


IaJPQI t 


1 -T 

1 •_■ 






LD 


H ¡i V al_U 1 i 




\—r YJ X -i— 


9 1 FFTF 


LD 


ni_ ¡i or r r n 


1 

X ■—> 




Lv U VJ YJ VJ 


CALL 


r\L/OL_ 1 


16 


C018 


FE76 


CP 


76H 


17 


C01A 


2812 


JR 


Z , RAM0 


18 


C01C 


3A35C0 


LD 


A, (SLOT) 


19 


C01F 


3C 


INC 


A 


20 


C020 


3235C0 


LD 


(SLGT), A 


21 


C023 


FE04 


CP 


4 


22 


C025 


20DD 


JR 


NZ,PAG0 


23 


C027 


3E4E 


LD 


A, "N" 


24 


C029 


DF 


RST 


18H 


25 


C02A 


3E4F 


LD 


A, "ü" 


26 


C02C 


DF 


RST 


18H 


27 
28 


C02D 


C9 


RET 


* 


LD2H 






RAM0: 




30 


C02E 


3A35C0 


LD 


A, (SLOT) 


31 


C031 


C630 


ADD 


A, 30H 


32 


C033 


DF 


RST 


18H 


33 


C034 


C9 


RET 




34 










35 


C035 


00 


SLOT: DEFB 





36 










37 






END 





* CALLF («1*0030): Salto a subruti- 
nas entre slots. 

En este caso la rutina debe ser lla- 
mada mediante la instrucción RST 
6PH30, y los parámetros necesarios 
para su funcionamiento deben encon- 
trarse a continuación de esta instruc- 
ción de ensamblador. 

Se deben pasar dos parámetros. El 
primero, un solo byte, indica el slot 
(según fig. 1) en que se encuentra la 
rutina que queremos llamar, y el se- 
gundo, un word (2 bytes), indica la di- 
rección de memoria a la que queremos 
que se produzca el salto. 

Modifica los registros de forma va- 
riable, dependiendo de la rutina a la 
que se salte. 

Es recomendable utilizar RST en lu- 
gar de CALL para llamar a esta rutina, 
ya que de esta forma ahorramos un 
byte de código, siendo además más rá- 
pido el proceso de llamada a dicha ru- 
tina. 

Incluimos a continuación un ejem- 
plo de uso de esta última rutina. Su- 
pongamos que queremos saltar a la di- 
rección 000C de la ROM-BIOS, situada 
en la página del slot 0. Haríamos: 
RST SfH30 ; Llamada 

DEFB S?B00000000 ; SLOT 
DEFW STH000C ; DIRECC. 

; Resto del pro- 
grama 

UTILIZANDO LOS SLOTS DESDE 
EL MSX-DOS 

El último problema que abordare- 
mos en el capítulo de hoy es el de la uti- 
lización de los slots desde el MSX-DOS. 
En este caso, como ya hemos comen- 
tado, el usuario se encuentra con 64 Kb 
de RAM. Esto provoca que no podamos 
llamar directamente a las rutinas de la 
BIOS que controlan los slots. 

De este modo llegamos a una para- 
doja: no podemos llamar a las rutinas 
que nos permiten cambiar de slots por- 
que están en otro slot al que no pode- 
mos acceder sin dichas rutinas. 

Pero el MSX está preparado para 
todo, y en las direcciones inferiores de 
la RAM utilizada por el MSX-DOS hay 
una copia de ciertas rutinas que nos 
permiten realizar trabajos con 
Estas rutinas son las siguientes: 

* RDSLT (fifHOOOC) 

* WRSLT (SPH0014) 

* CALSLT (SPHOOIC) 

* ENASLT (6PH0024) 

* CALLF (6PH0030) 

La forma de utilizarlas es exacta- 
mente la misma que si se tratara de las 
rutinas de la ROM BIOS anteriormente 
comentadas. 

Y aquí os dejamos por este número. 
En el próximo incluiremos el último 
capítulo de esta exposición de la utili- 
dad y funcionamiento de los slots. Ha- 
blaremos de los SUB-SLOTS;.. 

por M. Campo» 



25 



TRATAMIENTO DE FICHEROS 




En el pasado número hicimos una breve incursión en el mundo de la ordenación de ficheros. Hoy trataremos 



QUICKSORT, así como el método para ordenar ficheros 



QUICKSORT 

Como pudimos comprobar en el 
pasado número, uno de los ma- 
yores inconvenientes de 
tinas de ordenación radica en 
titud Evidentemente son incompara- 
blemente más rápidas que el proceso 
habitual de ordenar «a mano»; pero si- 
gue siendo un problema el tener que 
esperar varios minutos a que se realice 
la ordenación de nuestro fichero. 

Ya indicábamos el mes pasado que 
existe una rutina que permite realizar 
ordenaciones de una forma mucho 
más rápida que las comentadas en 
aquella ocasión. Se trata de QUICK- 
SORT. 

Esta rutina se halla muy extendida 
con ligeras variantes, ya que cada pro- 
gramador la adecúa a su forma de tra- 
bajar. Nosotros incluimos una rutina 
general, de modo que sea fácil para 
nuestros lectores adecuarla a sus pro- 
gramas de gestión de ficheros. 

QUICKSORT ha sido considerada, 
desde siempre, una rutina de ordena- 
ción complicada. Esto es debido a que 
el algoritmo que utiliza para realizar la 
ordenación no es evidente, como ocu- 
rría en los métodos por burbuja, sus- 
titución o inserción directa. 

Dado que no pretendemos convertir 
a nadie en un experto programador no 
explicaremos el algoritmo. Hemos in- 
cluido la rutina en el listado 1 para que 
cualquiera pueda utilizarla sin excesi- 
vos quebraderos de cabeza. 

Además, para que no haya dudas en 
cuanto al modo de utilizar esta rutina, 
incluimos el listado 2, que representa 
un ejemplo completo de utilización de 
la misma. 



ES QUICKSORT? 



Quicksort basa su rapidez en una ca- 
racterística muy especial. No ordena el 
fichero en su totalidad, como hacen las 
otras rutinas, sino que lo divide en sub- 
conjuntos. La ordenación se realiza 
elemento a elemento entre todos los 
que forman cada uno de los subconjun- 
tos. Progresivamente se va disminu- 
yendo el tamaño de los subconjuntos 
hasta que, cuando éstos se convierten 
en la unidad, el fichero está ordenado 
totalmente. 

Estos subconjuntos se general divi- 
diendo el fichero principal en grupos 
con un número de elementos potencia 
de dos. Por ejemplo, en un fichero de 
300 elementos (como el caso del ejem- 



plo), se formará un grupo de 256 ele- 
mentos. Una vez realizada la ordena- 

nuevos grupos de 128 elementos, luego 
de 64, 32, 16, 8, 4, 2 y finalmente de un 
solo elemento. 

Todo el proceso empleado es compli- 
cado, por lo que no profundizaremos 
más en él; pero aquellos que lo deseen 
pueden intentar interpretar la rutina 
(es una tarea algo complicada; pero 
con un poco de tesón todo es posible). 

Pero toda esta complicación sólo tie- 
ne una razón de ser, la velocidad. Para 
resaltar la diferencia de 
tre QUICKSORT y el resto 
hemos realizado una ordenación de un 
conjunto de 300 elementos utilizando 
para ello tres rutinas diferentes. 

En primer lugar hemos utilizado 
QUICKSORT, que para ordenar los 300 
elementos ha empleado, como media, 
14.75 segundos. Hemos de aclarar que 
este tiempo ha sido calculado utilizan- 
do un ordenador compatible IBM AT- 
286. Podéis observar que no existe nin- 
guna diferencia entre el BASIC de este 
aparato y el de nuestros MSX. La única 
diferencia remarcable consiste en que 
se puede eliminar el parámetro de RND 
si no se utiliza. 

A continuación repetimos el mismo 
proceso (sobre el mismo ordenador, 
claro está) con una de las rutinas de 
SORT comentadas en el pasado núme- 
ro, tardando 1 14.4 segundos como me- 

Figura 2 



FUSION 



B -> 7 19 24 2¿ 47 12... 



C-> 3 74 23., . 



7>3 ->3 
7<74 -) 1 
19<74 -) 1? 
mu -) 24 
2é(74 -) 2¿ 
47(74 -> 47 
12<74 -> 12 
74 -) 74 



en disco. 

dia en realizar la ordenación de los 300 
elementos. La diferencia de tiempos de 
ejecución es espectacular (del orden de 
10 veces más lenta que QUICKSORT). 

Los más escépticos criticarán que 
hayamos utilizado la más lenta de las 
rutinas comentadas en el pasado nú- 
mero para la medida de la velocidad; 
pero las razones de esta elección que- 
darán aclaradas un poco más adelante. 
Recordad, sin embargo, que los tiem- 
pos de ejecución de las tres rutinas co- 
mentadas el pasado mes eran bastante 
similares. 



PANACEA? 

Alguien se preguntará, ¿para qué 
existen las demás rutinas si ya dispo- 
nemos de QUICKSORT? 

La razón la comentamos ya some- 
ramente; no todos los ficheros son 
iguales. Cada rutina es la mejor para 
ordenar un tipo de fichero determina- 
do. 

Para demostrar esto hemos añadido 
una segunda medición a las rutinas de 
los listados 2 y 3. Hemos hecho que la 
rutina ordene un conjunto de datos ya 
ordenado. En el caso de QUICKSORT, el 
tiempo de ejecución se ve reducido a 



Tigor a 1 



DIVISION 



icliero A. 



7 19 24 3|74|2¿j47|23 12., . 



Bv C w 8 U Cv vB 



B -> 7fí9M2¿ 47 12,,, 



C -) 3 74 23.,, 



->D 3 7 19]24 2¿ 47\Ü 74 23,, ■ 



26 



6.45 segundos, mientras que el del 
SORT normal se mantiene en 97.6 se- 
gundos. 

Ahora bien, si sabemos que los fiche- 
ros a ordenar van a estar casi orde- 
nados podemos modificar la rutina de 
SORT normal, llegando así al listado 4. 
En este listado hemos añadido una 
comprobación: SI el fichero está orde- 



nado ENTONCES hemos terminado de 
ordenar. 

Esta condición es muy fácil de im- 
plementar en u 
bítual; 

mos los resultados de la ejecución de 
los listados 2 y 4. 

Si el fichero está totalmente desor- 
denado, la rutina QUICKSORT tarda 



LISTADO 1 



2 ' *** QUICKSDRT *** 
•-• - 
10 L=1:K=0 

20 L.=L+L: IF |_<=MAX THE 
N 20 

30 L=(L-1)\2 

40 FÜR 1 = 1 Tü MAX--L 

50 IF A(I) >A(I+L) TH 

EN SWAP A < I ) , A ( I+L ) : K= 

I~L 

60 IF K<1 THEN 80 
70 IF A(K) >A(K+L) TH 
EN SWAP A ( K ) , A ( K+L ) : K> 
K-L:GOTO 60 
80 NEXT I 

90 L=L\2: IF L>0 THEN 4 




LISTADO 2 



130 
80 



*** QUICKSORT *** 



4 ' Tiempo medio: 
14. 75 segundos 

5 ' 

6 ' Tiempo ordenado: 

6.45 segundos 

7 ' 

10 DEFINT A-Z 

20 MAX" 300 

30 DÍM A (MAX) 

40 FÜR 3>Í TÜ MAX: ATI) 

=INT(RND*1000) : NEXT I 

50 L=1:K=0 

60 L=L+L:IF L<=MAX THE 
N 60 

70 L=(L-1)\2 

80 FÜR 1=1 Tü MAX-L 

90 IF A(I ) >A(I-H_) TH 

EN SWAP A- (.¿1 ,ft.a+L) :K= 

I-L 

100 IF K<1 THEN 120 
110 IF A ( K ) >A(K+L) T 
HEN SWAP A ( K ) ,A(K+L) :K 
=K~L : GDTÜ 100 
T I 



L=L\2:IF L>0 THEN 



LISTADO 3 



1 ' 

2 ' *#* SÜRT *** 

3 ' 

4 ' Tiempo medio: 
114.4 segundos 

6 Tiempo ordenado: 
97.6 segundos 

7 ' 

10 DEFINT A-Z 

20 MAX =300 

30 DIM A (MAX) 

40 FÜR 1=1 Tü MAX:A(I) 

=1 NT (RND* 1000) : NEXT I 

50 FÜR 1=1 TÜ MAX-1 

60 FÜR J=I Tü MAX 

70 IF A(I) >A(J) TH 

EN SWAP A(I) ,A(J) 

80 NEXT J 

90 NEXT I 



LISTADO 4 



2 ' *** SORT 2 *** 

3 

4 Tiempo medio: 
126.2 segundos 

5 ' 

6 ' Tiempo ordenada: 

0.7 sequndos 

7 ' 

10 DEFINT A-Z 

20 MAX =300 

30 DIM A (MAX ) 

40 FÜR 1=1 TO MAX:A(I> 

1=1 NT (RND* 1000) : NEXT I 

50 FOR 1=1 Tü MAX-1 

60 FÜR J=I TÜ MAX 

70 IF A(I) >A(J) TH 

EN SWAP A(I) ,A(J) :N=1 

80 NEXT J 

90 NEXT I 



14.75 segundos mientras que SORT 2 
tarda 126.2 segundos (algo más de 2 
minutos). 

fichero está compléta- 
lo QUICKSORT tarda 
6.45 segundos, una eternidad compa- 
rada con los 0.7 segundos de SORT 2. 

Como se demuestra de estas compro- 
baciones, no hay rutina perfecta, sólo 
el conocimiento del fichero sobre el 
que estamos trabajando, y la experien- 
cia, pueden ayudarnos en la difícil elec- 
ción de la rutina a utilizar en nuestros 
programas. 

ORDENACION DE FICHEROS 
SECUENCIALES 

Lo prometido es deuda y, como ha- 
bíamos anunciado en nuestro pasado 
número, explicaremos el modo de rea- 
lizar ordenaciones de ficheros secuen- 
ciales. 

Tal vez no quedó suficientemente 
claro en su momento, y alguien abrigó 
falsas esperanzas; pero es imposible 
ordenar un fichero secuencial en cinta. 

Esta espantosa limitación viene pro- 
vocada por la imposibilidad de mante- 
ner dos ficheros abiertos al mismo 
tiempo en el cassette. No podemos por 
tanto leer datos de un fichero para gra- 
barlos en otro una vez ordenados. 

Lo que sí podemos hacer es cargar el 
fichero secuencial de la cinta en me- 
moria. Una vez hecho esto podemos 
aplicar cualquiera de las rutinas de or- 
denación que ya conocemos, sin nin- 
gún problema, y grabar el resultado en 
otro fichero en cinta. 

Lamentablemente esto no lo podre- 
mos realizar con los ficheros más 
grandes, que excedan la capacidad de 
memoria de la máquina. 

Sólo los usuarios de unidad de disco 
podrán realizar este tipo de ordena- 
ción en sus ficheros secuenciales. 



PARA ORDENAR... 

Al contrario de lo que hemos hecho 
con la rutina QUICKSORT, aquí expon- 
dremos el método a seguir para reali- 
zar la ordenación; pero no daremos lis- 
tado. Esperamos que esto sirva de ejer- 
cicio para nuestros sufridos lectores. 

El proceso a seguir es muy simple, 
hay que dividir el fichero en dos (algo 
más ordenados que el primero), y lue- 
go volver a fusionarlos en un fichero. 
Hay que repetir el proceso tantas veces 
como sea necesario. 

DIVISION 

Llamaremos, para clarificar el pro- 
ceso, fichero A al fichero original, y fi- 
cheros B y C a los ficheros obtenidos de 
la división del fichero A. El proceso de 
división del fichero en dos es el si- 
guiente. Hay que enviar al fichero B el 



27 



TRATAMIENTO DE FICHEROS 



primer elemento del fichero A. Se com- 
para con este elemento el segundo del 
fichero A. Si resulta estar correcta- 
mente ordenado se envía al fichero B y 
se repite el proceso con el siguiente 
elemento del fichero A. 

Si el elemento no está correctamente 
ordenado, se envía al fichero C. Se re- 
coge el siguiente elemento de A, y en 
caso de estar correctamente ordenado 
se transfiere a C (cuidado). Se repite el 
proceso hasta encontrar un elemento 
desordenado, que se vuelve a enviar a 
B. 

Sólo hay que repetir este proceso 
hasta que se hayan repartido todos los 
elementos del fichero A. 

Para entender mejor este proceso, os 
remitimos a la figura 1. 



la división. Llamaremos D al nuevo fi- 
chero, resultado de la fusión de B y C. 

Tomamos el primer elemento de B y 
el primero de C. Enviamos el menos de 
ellos a D (si ordenamos de menor a 
mayor), y leemos otro elemento del fi- 
chero al que perteneciera el elemento 
grabado en D. Se repite esta compara- 
ción hasta que se haya fusionado la to- 
talidad de los ficheros. 

Para entender mejor este proceso os 
remitimos a la figura 2. 



ÍATOO 



La fusión no es mas complicada que 



El último problema con que nos en- 
contramos radica en saber cuándo se 
ha terminado la ordenación. La solu- 
ción es muy sencilla. Cuando el fichero 
A está ordenado, el fichero B es igual al 
fichero A y el fichero C está vacío. ¿Os 
animáis a programarlo vosotros? 



Y LA TRISTE DESPEDIDA 

Terminamos aquí el artículo de hoy, 
y con él esta sección, «Tratamiento de 
ficheros». Esperamos que haya servido 
para que conozcáis un poco mejor el 
fascinante mundo de los ficheros. 

Esperamos que no haya sido incon- 
veniente el dejar muchos apartados 
como ejercicios. Hemos creído que esta 
solución era interesante en un tema 
como los ficheros, de por sí algo abu- 
rrido. Hemos preferido que os peleéis 
un poco con vuestro ordenador a que 
tengáis que soportar parrafadas inter- 
minables de texto. 

i Y eso sí!, aunque acabe esta sección, 
no nos olvidaremos de los usuarios de 
unidades de disco, ni de aquellos que 
busquen algo más que juegos para su 
MSX. 

Por Willy Miragall 



REGALATE Y DISFRUTA DE UN LIBRO 

USUARIO DE MSX 




UN LIBRO PENSADO 
PARA TODOS LOS OUE 
QUIEREN INICIARSE 
DE VERDAD EN LA 
PROGRAMACION BASIC 

Construcción de programas. El po- 
tente editor todo pantalla. Constan- 
tes numéricas. Series, tablas y ca- 
denas. Grabación de programas. 
Gestión de archivo y grabación de 
datos. Tratamiento de errores. Los 
gráficos del MSX. Los sonidos del 
MSX. Las interrupciones, 
ción al lenguaje máquina. 



I Wll K 1.1 I HUI HO 



JUAN l AHI OS GONZAI I / 



guia roi> .rlwidid d« (¡tinción 

componer música a una. do* o tra iuc« 
organizar tus propio» programas de gestión.... 

LOS SECRETOS DEL 




Y ADEMAS PROGRAMAS 
DE EJEMPLO 

Alfabético. Canon a tres voces. 
Moon Germs. Bossa Nova. Blue 
Bossa. La Séptima de Beethoven. 
La Flauta Mágica de Mozart. Scra- 
ple from the apple & Donna Lee. The 
entretainer. Teclee un número. Ca- 
lendario perpetuo. Modificación 
Tabla de colores SCREEN 1 . Rec- 
tángulos en 3-D. Juego de caracte- 
res alfabéticos en todos los modos. 
Juego Matemático. Más grande más 
pequeño. Poker. Breackout. Apoca- 
lypse Now. El robot saltarín. El ar- 
chivo en casa. 



Deseo me envíen el libro Los secretos del MSX, para lo cual adjunto talón de 1.500 ptas. a la orden de 
MANHATTAN TRANSFER, S.A. importante: No se hace contra reembolsos. 



Calle n.° Ciudad CP 

Este boletín me da derecho a recibir los secretos MSX en mi domicilio libre de gastos de envío o 
cualquier otro cargo. 

importante: indicar en el sobre MANHATTAN TRANSFER, S.A. 

«LOS SECRETOS DEL MSX» 
Roca i Batlle, 10-12 Bajos-08023 BARCELONA 



1 



COMO ENCONTRARLOS 



Muchos de vosotros os habréis preguntado cómo se pueden encontrar esos «mágicos» pokes de vidas 
infinitas, energía perpetua, ver el final del juego y un largo etcétera. En este 

desvelar los misterios de cómo encontrarlos. 



E 



do. 



n un principio, encontrar un 
poke de vidas infinitas es casi 
una labor detectivesca, que se 
más o menos fácil según la forma 
autor del juego lo haya protegi- 



Para poder analizar un juego se ne- 
cesita primero un «equipo» compuesto 
por los siguiente programas: 

— Un desensamblador: Indispensa- 
ble para poder ir descifrando las ruti- 
nas que nos llevarán a encontrar el tan 
ansiado poke. El desensamblador de- 
bería ocupar poca memoria y poder ser 
relocalizable, y a la vez ser completa- 
mente manejable. No es necesario que 
nos proporcione un listado «fuente» 
del programa, sino que se limite a ir 
traduciendo el programa a medida que 
se lo pidamos. 

— Un programa que nos dé las di- 
recciones de inicio, final y ejecución de 
un programa (CASNOM) para poderlo 
analizar. 

— Un programa de búsqueda (CAR- 
BUS): Este programa tiene la función 
de buscar una cadena de caracteres en 
la memoria, unos bytes determinados o 
una dirección determinada. Es fácil de 

un programa de estas caracte- 
3 en Basic, pero sería demasiado 
lento, por lo que es más útil hacerlo en 
lenguaje máquina. Es también muy in- 
teresante que dicho programa pueda 
buscar bytes relativos, es decir, si el 
primer byte que recoge vale X, el se- 
gundo debe valer X-6 y el tercero X+6, 
independientemente del valor X. 

— Un programa que nos presente la 
memoria en formato 'spríte' (BUSCA): 
Sirve principalmente para localizar 
mensajes que no estén escritos con ca- 
racteres, sino que estén almacenados 
en formato gráfico. Tiene además una 
doble utilidad, ya que nos permite lo- 
calizar los 'sprites' de un programa, 
borrar a los enemigos (poniendo ceros 
en las posiciones de memoria que los 
definen) y si el programa se limita a 
comprobar si hay colisiones de sprites, 
ya se habrán anulado a los enemigos. 
Este método puede ser utilizado prin- 
cipalmente en programas como Manic 
Miner, Blagger, Jet Set Wüly, etc... 

— Un programa que visione toda la 
memoria en formato de texto (LET- 
BUS): Permitirá localizar todos los 
mensajes de un programa (si los ca- 
racteres no están , camuflados , ) y obrar 
en consecuencia. 

Es también indispensable tener un 




cierto conocimiento de ensamblador 
para poder localizar el inicio y final de 
cada subrutina. 

Para aclarar un poco toda la expli- 
cación de cómo encontrar un poke, va- 
mos primero a explicar el motivo por 
el que se hace así: 

Pongámonos por un momento en lu- 
gar del programador y pensemos cómo 
haríamos nosotros que nos quitasen 
una vida. 

¿Le ha tocado la bomba? (esta com- 
probación puede ser muy complicada) 

Sí no es así, vuelve. 

Llama a la subrutina de quitar una 
vida (SUBVTD). 



Vuelve. 

SUBVTD: Decrementa el número de 
vidas (una posición de memoria). 

Compara el número de vidas con 0. 

Si nó es 0, vuelve. 

Salta a subrutina de 
saje final (MENELN). 

Vuelve. 

MENFIN: Carga en un valor el inicio 
del mensaje final (LD HLjin), llama 
subrutina que imprime el mensaje que 
se encuentre en HL, salta al inicio del 
programa. 

Lo que es fundamental es lograr ac- 
ceder a una subrutina que se ejecute 
cuando se nos reste una vida o se acabe 



29 



POKES DE VIDAS INFINITAS 



el juego. Entonces todo se limita a sal- 
tar de una subrutiha a otra hasta en- 
contrar la que decrementa el número 
de vidas o hace la comparación con 0. 

El ejemplo anteriormente puesto es 
una simplificación de un programa 
real, y lo único que se hace, es una vez 
localizada MENFIN, buscar quién lla- 
ma a MENFIN (SUBVID) y modificarla 
de manera que nunca llame a MENFIN. 

Pasemos ahora a describir paso por 
paso las operaciones a realizar para 
encontrar los pokes de vidas infinitas 
en un programa: 

a) Hay que desproteger el programa 
(si está protegido y si es posible 
desprotegerlo) de manera que esté 
localizado en la memoria sin que se 
ejecute. En caso de que el programa 
esté compuesto por varias partes, 
hay que procurar que el programa 
principal esté localizado en la me- 
moria o actuar como si cada parte 
fuera un programa independiente. 

b) Hay que comprobar si el programa 
no se relocaliza al ejecutarlo, en 
caso de que lo haga, buscar la di- 
rección de memoria a donde se 
traslada y calcular la diferencia en- 
tre dicha posición y la actual, y di- 
cha diferencia se ha de restar siem- 
pre a la hora de buscar un puntero 
o la llamada al inicio de una sub ru- 
tina. 

Ej. Si el programa está en la pos. 
H8800 y se traslada a la pos. 
H8000, la diferencia es de H0800. 
Para saber si el programa se relo- 
caliza, basta con desensamblar a 
partir de su dirección de ejecución 
y buscar la instrucción LDIR, si se 
encuentra dicha instrucción, basta 
encontrar el valor que se le da a HL 
y a DE para saber origen y destino. 

c) Si en el programa aparece el men- 
saje de GAME OVER o similar, con 
el programa CARBUS se localiza la 
posición donde se encuentra dicho 
mensaje. Si no se encuentra puede 
ser por 3 motivos: 

1 — Existe más de un espacio entre 
GAME y OVER, para salir de 
dudas, buscar sólo OVER o sólo 
GAME. 

2 — Al redefinir las letras, el pro- 
grama cambia su código ASCII 
(las camufla), de manera que 
hay que buscar el mensaje se- 
gún caracteres relativos, para 
ello se averigua el código ASCII 
de las tres primeras letras del 
mensaje (en caso de GAM, son 
71,65 y 77). A continuación se 
busca un byte cuyo siguiente 
sea su igual menos 6, y el si- 
guiente del siguiente sea su 
igual más seis, esto traducido a 
Basic seríá: 

FOR I=Dir. inicio TO Dir. final: 
A=PEEK(I): B=PEEK(I+1): 
C=PEEK (1+2): IF A-B=6 AND 
C-A=6 THEN PRINT I: NEXT 



ELSE NEXT 

Si no se encuentra el mensaje 
puede ser porque al redefinir 
los caracteres, no redefine todo 
el abecedario sino que se limita 
a redefinir los caracteres que 
necesita. Para saber qué carac- 
teres son estos, con el progra- 
ma BUSCA, se localizan las le- 
tras redefinidas, y con las le- 
tras existentes se crea un abe- 
cedario y se busca el lugar que 
ocupan las letras GAM en re- 
lación a dicho abecedario. 
3 — El mensaje está en formato 
gráfico, siendo fácil de encon- 
trar entonces con el programa 

d) Una vez localizado el inicio del 
mensaje final, se anota la dirección 
donde se encuentra dicho mensaje, 
seguidamente, y con el programa 
CARBUS, se busca en toda la me- 
moria donde aparece dicha direc- 
ción y se anota la dirección donde 
aparece. En caso de haber dos di- 
recciones, se pueden seguir dos li- 
neas paralelas. 

En caso de no encontrar ninguna 
posición de memoria que coincida 
con el inicio del mensaje final, hay 
que intentarlo con la dirección del 

e) Llamaremos POSK a la zona de me- 
moria que anota el puntero del ini- 
cio del mensaje final. Desensambla- 
mos a partir de POSK-1, y lo lógico 
es obtener una instrucción del tipo 
LD HL.43250, en caso de que no co- 
rresponda a este tipo de instruc- 
ción, buscar otra POSK. 

f ) Una vez localizada la POSK adecua- 
da, desensamblamos a partir de la 
POSK-200 o similar en busca del 
inicio de la subrutina que contiene 
a la POSK, el inicio viene marcado 
porque la instrucción anterior in- 
dica el final de la subrutina ante- 
rior (es del tipo RET, JEnno JP 
nn). Cada vez que encontramos el 
inicio de una subrutina, lo anota- 
mos, y una vez llegados a la POSK, 
la última dirección anotada, será el 
inicio de la subrutina que contiene 
a la POSK, la llamaremos POSL. 

g) Buscamos en la memoria la POSL, 
llamándola POSK, y desciframos a 
partir de POSK-1, en caso de encon- 




ponemos ceros en el lugar donde se 
encuentre dicha instrucción y eje- 
cutamos el juego, si ha habido suer- 
te, al llegar a vidas no saldrá el 
mensaje de GAME OVER y podre- 
mos seguir jugando, en caso con- 
trario, pasamos al punto f. 
En caso de no encontrar la POSL, 
puede ser porque no es la POSL ade- 
cuada o porque la llamada que se le 
hace se hace mediante un salto re- 
lativo (JR nn). Para encontrar la 



dirección donde hace dicho salto, 
habrá que usar el desensamblador, 
y desensamblar desde POSL- 128 
hasta POSL+128, buscando una 
instrucción JR que llame a la POSL. 
Una vez encontrada dicha instruc- 
ción, procedemos como indica el 
principio de este punto, 
h) Una variante puede ser la de, al en- 
contrar una subrutina, buscar si en 
dicha subrutina se incrementa, 
compara u opera con alguna direc- 
ción (o con registros del tipo A o 
[HL]). En este caso, basta buscar en 
toda la memoria (partiendo de la 
base que la dirección que tenemos 
contiene el número de vidas) la di- 
rección, encontrando asi donde se 
adjudica el número de vidas inicia- 

1©S* 

EJ. POSL LD A,( 34769) 'Posible di- 
rección que contiene las 
vidas. CP 
POSK-l:JR Z.43401 'Dirección 
que saca el mensaje 
GAME OVER. JP 42010 
Una forma de comprobar si una di- 
rección contiene el número de vi- 
das es la de ejecutar el juego, y a un 
número determinado de vidas, pul- 
sar el botón de RESET si vuestro 
MSX dispone de él y comparar el 
número de éstas con el número que 
contiene la posición de memoria 
que tenemos. 
Pasemos ahora a tratar un ejemplo 
completo. Se trata del juego MAXIMA, 
que para los que no lo sepan, es un tí- 
pico juego de marcianos que se adapta 
perfectamente a lo explicado hasta 
ahora. Vamos a explicar todo el pro- 
ceso seguido para encontrar un POKE 
de vidas infinitas. 

Este juego tiene una protección bas- 
tante buena, ya que carga un programa 
en Basic con BLOAD para ejecutarlo se- 
guidamente, cargando entonces la se- 
gunda parte que es el juego propiamen- 
te dicho. Es esta la parte sobre la que 
centraremos nuestras pesquisas: 

Para empezar, encontramos fácil- 
mente el mensaje GAME OVER, que se 
encuentra en la posición de memoria 
(39592). Buscamos entonces la posi- 
ción de memoria que contiene esta di- 
rección, y obtenemos la 40418. Pasa- 
mos entonces a buscar el inicio de la 
subrutina que contiene al 40418, y re- 
sulta la dirección (40379). Buscamos a 
continuación la zona de memoria que 
contiene esta dirección, obteniendo la 
40321. Descifrando la instrucción que 
hace la llamada, comprobamos que es 
un salto sólo si un valor es igual a 0. 
Muy animados, introducimos 3 pokes 
(POKE 40320,0: POKE 40321,0: POKE 
40322,0) y ejecutamos el juego, deja- 
mos que nos maten todas las vidas y 
esperamos con el corazón en vilo; pero, 
¡oh, decepción!, no sale el mensaje de 
GAME OVER, pero sí que se acaba la 
partida. Continuamos nuestras pesqui- 



30 




sas desde el punto que las dejamos, es 
decir, en la posición 40321, buscamos 
el inicio de la subrutina que contiene a 
esta instrucción, y la obtenemos: es la 
(40318). Pasamos a buscar la zona de 
memoria que contiene dicha dirección, 
y damos con la 37628. Descifrando 
esta instrucción, comprobamos que se 
trata de otro salto dependiente del va- 
lor de un registro. Un poco más ani- 
mados, introducimos otros 3 pokes 
(POKE 37627,0: POKE 37628,0: POKE 
37629,0) y ejecutamos el juego y... ¡oh, 
maravilla de las maravillas! Después 
de matar todos los tanques seguimos 



jugando como tal cosa. Ya han sido lo- 
calizados los pokes de vidas infinitas; 
pero aún se puede hilar más fino. He 
aquí un listado de la zona de memoria 
que hemos poqueado: 

LD A,(IY+17) 

ORA 

JP M.40318 'Esta instrucción i 
. que ha sido anulada. 



Pocas dudas nos i 



que la po- 
m 



contiene el número de vidas, de ma- 
nera que, con una tabla de todos los 
mnemónicos del Z80 en la mano, bus- 
camos el que cargue en (IY+d) un va- 



lor, y obtenemos que tiene 3 bytes que 
lo definen. Estos son: 

253 (fijo), n (indica si se carga con 
A, B, C.) y 17 (el valor que se le suma 
arY). 

Pasamos a hacer uso del CARBUS, 
buscamos un 253, comodín (cualquier 
valor, se introduce con un # o con un 
35 en decimal) y un 17, y obtenemos 6 
posiciones de memoria (37494, 37623, 
38015, 38026, 40327 y 40379), y nos 
dedicamos a desensamblarlas una por 
una, encontrando que dos de ehas se li- 
mitan a decrementar el contenido de 
(IY+17), estas son las direcciones 
38015 y la 40379. Cogemos la primera 
y le introducimos un solo poke (POKE 
38015,17), con el que cambiamos la 
instrucción, que pasa de ser DEC 
(IY+17) a LD DE.4405, con lo que que- 
da anulado su efecto. Ejecutamos el 
juego y efectivamente, el número de vi- 
das no decrece. Después de dar un par 
de vueltas al marcador, pasamos al si- 
guiente y último apartado. 

El último punto es el de cómo intro- 
ducir el poke en el programa. Para ello, 
basándonos en el programa original 
(reduciéndolo un poco), hemos creado 
un sustituto del primer trozo del pro- 
grama, de manera que sólo cargue el 
segundo. 

Y ya para finalizar, sólo falta decir 
que los programas citados anterior- 
mente (BUSCA, CARBUS, LETBUS y 
CASNOM) aparecen publicados en este 
mismo numero. 

Si lográis encontrar algún poke de 
vidas infinitas o similar para algún 
juego, no dudéis en enviárnoslo. 

Roni Van-Ginkel 



SUSCRIBETE HOY MISMO SI 
QUIERESESIAREN VANGUARDIA 



La primera revista de MSX de España en tu domicilio caria 




mes. Por el precio de DIEZ HUMEROS recibirás DOCE. 

Además tu condición de suscrlptor te da derecho 
a descuentos y ofertas especiales en otros productos. 
MANHATTAN 



SJL 



Nombre y apellidos 

Calle N.° .. 

Ciudad Tel 

Provincia D.P 





Deseo suscribirme a la re 
SUPERJUEGOS 
a partir del número 

FORMA DE PAGO: Mediante talón b an- 
earlo a nombre de: 

MAHKATTAN THAW8TER, SJL 
C/. Roca i BatUe, 10-18 
08083 Barcelona 



Muy importante : para «vitar retraaos en la 
recepción de loa números rogamos deta- 
llóla exactamente el nuevo número de loa 
dlatritoa postales. Gracias. 

■apaña por correo normal Ptaa. 8.780- 
■uropa por avión Ptaa. 3.800- 

SSUBAt 



31 





J 


DO 


CJ 


ÍJKíll II U 




BT 




!C. 


A 






mación es una muestra de la ventaja del 

memoria del ordenador en busca de los gráficos de un juego o incluso de la airee 
Este programa nos permite avanzar y retroceder por toda la memoria, podemos a 

te a byte (cursor izquierda) o de 38 





n donde comienza un programa, 
byte a byte (cursor derecha), de 






valor de A en hexadecimal). 

rsonalmente, para lo que más utilizo este programa es para buscar dónde están los 8PBITES de un determinado juego, 
de memoria donde se encuentran los SFBITES enemigos 
detecta las colisiones se habrán anulado 

programa es convi 

Como el programa está en la zona de memoria que utiliza el Basic para almacenar sus programas, no es aconsejable 

en memoria, por el mismo motivo, el listado en Basic para cargar el programa en 
ne que cargar primero el programa en una zona libre de memoria, nacer un NEW (os 
antes de hacer un RUN) y trasladar el programa hacia su zona de memoria correcta, 
rto, podéis grabar el programa con un BSAVE "BUSCA" 
y para cargarlo: 

i KEY 8, "D=l 




38800, 33078 



1 • 

2 ' *** Cargador BUSCA *** 

3 ■ 

10 CLS:PRINT"Un momento ..." 
20 FOR 1=40000! TO 40275! 
30 READ A*: A=VAL < "&H"+A*> 
40 POKE I,A 
50 N=N+A 
60 NEXT 

70 IF NO30797 THEN PRINT " ERRGR EN 
DATAS": STOP 

80 PRINT "Para grabar el programa h 
acer: ": PRINT "BSAVE " +CHR* < 34 ) + " BUS 
C A M +CHR* < 34 ) + " , 32800 , 33075 " : END 
110 CLS: PRINT "PULSA RETURN" : PRINT ! P 
RINT"N=32800:FOR 1=40000 TG 40275: P 
OKE N, PEEK ( I ) : N=N+1 : NEXT" : PRINTCHR* 
(11) 

120 NEW 

130 DATA 3E,0A,32,E9,F3,3E,00,32,83 
,80,32,EA,F3,32,EB,F3,CD,6F,00,21,0 
0, IB, 1E,08, 16,04,0E, 18,06,EB,3E 
140 DATA 3C,F5,78,81,47, 16,04,F1,CD 




,5F,80,81,81,F5, 15, 7A, FE, 00, C2, 46, 8 
0, Fl , ID, 7B, FE, 00, C2, 3E, 80, C3, 84 
150 DATA 80,F5,78,CD,4D,00,23,F1 ,F5 
, CD, 4D, 00, 3A, 83, 80, 23, F5, CD, 4D, 00, F 
1 , 3C, 3C, 3C, 3C, 23, 32, 83, 80, 3E, 05 
160 DATA CD,4D,00,F1,23,C9,01,21 ,00 
, 80, 1 1 , 00, 38, 01 , 00, 04, E5, CD, 5C, 00, E 
1,3E,00,32, 16,F4,3E,0B,DF,7C,CD 
170 DATA D9,80,7D,CD,D9,80,3E,08,CD 
,41,01,FE,FF,28,F7,CB,7F,28, 12,CB,6 
7,28, 12, CB, 77, 28, 19, CB, 6F, 28, 0E 
180 DATA CB,47,28, 19, 18, C6, 23, C3, 87 
, 80, 2B,C3, 87, 80, 11,20,00, 19,C3,87,8 

0. 11. 20.00, ED, 52, C3, 87,80, C9, 06 
190 DATA 30,CB,7F,C4,0C,81,CB,77,C4 
, 14,81,CB,6F,C4, 1C, 81 , CB, 67, C4, 1F,8 

1, CD,21,81,06,30,CB,5F,C4,0C,81 
200 DATA CB, 57, C4, 14,81, CB,4F,C4, 1C 
,B1,CB,47,C4, 1F,81,CD,21,81,C9,F5,7 
8,06,08,80,47,F1,C9,F5,78,06,04 
210 DATA 80,47,F1,C9,04,04,C9,04,C9 
, F5, 3E, 00, 32, 16, F4, 78, FE, 3A, D4, 30, 8 
1 




n 










w 




1 

2 

3 

4 

5 

6 

7 

8 

9 
11 
11 

12 8l2f 

13 8122 

14 8025 

15 8127 

16 8I2A 

17 802D 

18 8030 

19 8133 
21 8036 

21 8638 

22 813 A 

23 803C 

24 8#3E 

25 8040 

26 8#41 

27 8142 

28 8#43 

29 8144 

30 8146 

31 Bf47 

32 B04A 

33 B04B 

34 604C 

35 804D 

36 B04E 

37 8#4F 

38 8131 

39 8ff54 

40 8133 



; til 



BUSCA III 



; Prograaa que presenta toda 
; la aesona central en foraato 
; SPRITE para localizar los 
; gráficos de un prograaa . 

5 

; Por Roni Van-Ginkel 



3E0A 

32E9F3 

3EM 

328380 

32EAF3 

32EBF3 

CD6F00 

21001 B 

1E08 

1604 

0E18 

06EB 

3E3C 

F5 

78 

81 

47 

1604 

Fl 

CD5F80 

81 

81 

F3 

15 

7A 

FE00 

C24680 

Fl 

ID 



L00P2: 



0R5 328N 
LOAD 32800 
LD A,10 

(0F3E9HJ.A 
M 

(DAT), A 
(0F3EAH),A 
(0F3EBH),A 
CALL 6FH 
LD HL.6912 
M 

M 

C,24 
B.235 
A.60 



¡DIRECCION INICIO 
; COLOR 10,1,1 



LD 
LD 
LD 
LD 
LD 



LD 
LD 
LD 
LD 
LD 



; SCREEN 1 



;0R6 TABLA SPRITES 
; DATOS INICIALES 



jPOSICIONAR SPR. 



PUSH AF 
LD A,B 



LOOP1: 



ADD 

LD 
LD 
POP 



A, C 

B, A 

M 

AF 

CALL VPKE 
ADD A.C 
ADD A,C 
PUSH AF 
DEC D 
LD A,D 



CP 
JP 
POP 
DEC 





NZ,L00P1 

AF 

E 



41 8036 7B 

42 8037 FE00 


cp í' E 


43 8059 C23E80 




JP NZ,L0OP2 


ái OMKC PTOIOA 

44 olOL IÓU4ÜI 




JP PR06 


45 805F F5 


VPOKE: 


PUSH AF 


46 8060 78 




LD A,B 


47 8061 CD4D00 




CALL 4DH 


48 8064 23 




INC HL 


49 8065 Fl 




POP AF 


50 8066 F5 




PUSH AF 


51 8067 CD4D00 




CALL 4DH 


52 B06A 3A8380 




LD A, (DAT) 


53 806D 23 




INC HL 


54 B06E F3 




PUSH AF 


55 806F CD4D00 




CALL 4DH 


56 8072 Fl 




POP AF 


57 8073 3C 




INC A 


58 8074 3C 




INC A 


59 8075 3C 




INC A 


60 8076 3C 




INC A 


61 8077 23 






62 807B 328380 




63 807B 3E05 






64 807D CD4D00 




CALL 4DH 
POP AF 


65 8080 Fl 




66 8081 23 




INC HL 


67 8082 C9 




RET 


68 8083 01 


DAT: 


DEFB 1 , 


69 8084 210080 


PR06: 


LD HL, 32768 


70 8087 110038 


BUCLE: 


LD DE, 14336 


71 808A 010004 




LD BC, 1024 


72 808D E5 




PUSH HL 


73 808E CDSC00 




CALL 5CH 






POP HL 


75 8092 3E00 


LD M 


76 8094 3216F4 




LD (0F416HJ.A 


77 B097 3E0B 




LO A,U 


78 8099 DF 




RST 18H 


79 809A 7C 




LD * A,H 


80 809B CDD980 




CALL PRINT 



¡ESCRIBIR DATOS 
;EN LA VRAN 



;HL*INICIO 
;DE=0R6 TABL 
;BC=LONGITUD 

{DEFINIR SPRITES 

¡SALIDA POR PANTALLA 

;HOE 



m 

























wÍJM Wm 




81 8§9E 7D 




LO A,L 




82 809F CDD980 




CALL PRIMT 




83 BM2 3E08 


TECLA: 


LD A,8 


{TECLADO 


84 60A4 CD4101 




CALL 141H 




85 B0A7 FEFF 




CP 255 


¡PULSACION ? 


. 86 80A9 28F7 




JR Z, TECLA 


;SI NO ESPERA 


87 8MB CB7F 




BIT 7,A 


88 BMD 2812 




JR Z.RIGHT 


; CURSOR DERECHA 


89 BMF CB67 




BIT 4,A 




9« 8IB1 2812 




JR Z.LEFT 


{CURSOR IZQUIERDA 


91 BfB3 CB77 




BIT 6,A 




92 SftS 281A 




JR Z.DOHN 


¡CURSOR ABAJO 


93 80B7 CB6F 




BIT 5,A 




94 80B9 28IE 




JR Z,UP 


f -un jv \ nnn ivn 


93 Bf BB CB47 




BIT f,A 


96 BfBD 2819 




JR Z.EIIT 


¡BARRA « SALIR 


97 80BF 1BC6 




JR BUCLE 


98 8IC1 23 

99 8IC2 C387BI 


R16HT: 


W HL 
JP BUCLE 


{AVANZAR LENTO 


1M 80C5 2B 


LEFT: 


DEC HL 


¡RETROCEDER LENTO 


lf 1 80C6 C387BI 




JP BUCLE 




112 8K9 111F00 UP: 


LO DE, 31 


{RETROCEDER RAPIDO 


113 BflCC ED52 




SBC HL, DE 




114 8ICE C38780 




JP BUCLE 




115 B0D1 112§## 
106 80D4 19 


DON: 


LD DE,32 
ADD HL.DE 


; AVANZAR RAPIDO 


1F 8#D5 C3878I 




JP BUCLE 
RET 




118 8#D8 C9 


EX1T: 


¡VOLVER AL BASIC 


Mf tmua 


PRUT: 


LD B,48 


; IMPRIME EL 


110 BfDB CB7F 




BIT 7,A 


; VALOR DE A EN 


111 Bf DD C40C81 

112 BfEfl CB77 




CALLNZ.P8 
BIT 6,A 


{HEXADECIHAL 


113 8#E2 C41481 




CALL NZ.P4 




114 BffES CB6F 




BIT 5, A 




115 8#E7 C41C81 




CALL NZ,P2 




116 8#€A CB67 




BIT 4,A 




117 80£C C41F81 




CALL NZ.Pl 




118 80EF CD2181 




CALL PRIHT2 




119 8#F2 1631 




LD 6,48 




12f 80F4 CB5F 




BIT 3,A 




121 8fF6 C4fC81 






CALL NZ,P8 





Oí 




122 8fF9 

123 8#FB 

124 8fFE 
123 81M 

126 8113 

127 8115 

128 8118 

129 81M 
13f 81fC 

131 81ID 

132 81fE 

133 8111 

134 8111 

135 8112 

136 8113 

137 8114 

138 8115 

139 8116 
141 8118 

141 8119 

142 81 1A 

143 81 IB 

144 81 1C 

145 81 ID 

146 81 1E 

147 81 1F 

148 8120 

149 8121 

150 8122 
131 8124 
152 8127 
133 8128 

154 812A 

155 812D 

156 812E 

157 B12F 

158 8130 

159 8132 

160 8133 
161 







_»_'/ n~OQt~tQC 
l\UU(\ill II l-i 


CAI 






3N0M 


1 



El programa que ahora os ofrecemos s 



PorKoniVan 




programa que ahora os ofrecemos sirve para conocer las direcciones de inicio, final, ejecución y la longitud de un 
programa grabado en cinta (en caso de ser un programa en Basic, se limita a poner el nombre y el formato con 

que ha sido grabado). 

Para lanzar el programa, basta poner DEFUSR=36000: D=USR(0) y poner la cinta en el principio, pudiéndose 

- cualquier momento ; 








1 ' 

2 9 Cargador para el programa CASNO 
M 

3 * 

10 CLS:PRINT"Un momento ..." 
20 FOR 1=36000! TO 36347! 
30 READ A* 
40 A=VAL("8<H ,, +A*) 
50 POKE I. 



60 N=N+A 
70 NEXT 



80 IF N034758! THEN PRI NT "ERROR EN 

DATAS": STOP 
90 PRINT "Para grabar hacer :": PRINT 

H BSAVE " +CHR* ( 34 ) + " CASNOM " +CHR* ( 34 
) + M , 36000, 36350" : END 

100 DATA CD,E1,00,CD,E4,00,32,C7,8D 
, CD, E4, 00, FE, CF, 30, F9, 21 , 53, 8D, 77, 2 
3, 06, 05, CD, 2A, 8D, CD, E7, 00, 21 , 4C 
110 DATA 8D,CD,20,8D,CD, 15,8D,3A,C7 
, 8D, FE, D3, 28, 70, FE, EA, 28, 67, CD, E 1 , 
0, 21 , C8, 8D, 06, 06, CD, 2A, 8D, 01 , C8 
120 DATA 8D,0A,5F,03,0A,57,03,0A,6F 
, 03, 0A, 67, 03, 03, 03, ED, 52, 7D, 02, 03, 7 
C, 02, 1 1 , C8, 8D, 21 , 5A, 8D, 06, 04, E5 
130 DATA E1,CD,20,8D,E5,1A,6F,13,1A 
,67, 13,D5,CD,D0,8D,CD, 15, 8D, DI , 10, E 
B, El, 18,34, 3E,0D,CD, 18,00,3E,0A 
140 DATA CD, 18, 00, C9, 7E, 23, FE, 0D, 28 
,03,DF, 18,F7,C9,E5,C5,CD,E4,00,C1,E 
1,38,0F,77,23, 10, F3, C9, 21 , 7E, 8D 
150 DATA 18,E3,21,8F,8D, 18, DE, El, 21 
, Al , 8D, CD, 20, 8D, C3, E7, 00, 4E, 6F, 6D, 6 
2, 72, 65, 3A, 20, 20, 20, 20, 20, 20, 0D 
160 DATA 49,6E,69,63,69,6F,3A,0D,46 
, 69, 6E, 61 , 6C, 3A, 0D, 45, 6A, 65, 63, 75, 6 
3,69, A2,6E,3A,0D,4C,6F,6E,67,69 
170 DATA 74,75,64,3A,0D,50,72,6F,67 
,72,61,6D,61,20,65,6E,20,4C,4F,41,4 
4,0D,50,72,6F,67,72,61,6D,61,20 
180 DATA 65,6E,20,43,4C,4F,41,44,0D 
, 45, 72, 72, 6F, 72, 2C, 63, 61, 72, 67, 61, 2 
















0, 69, 6E, 74, 65, 72, 72, 75, 6D, 70, 69 
190 DATA 64, 61, 20, 6F, 20, 64, 65, 66, 69 
, 63, 69, 65, 6E, 74, 65, 0D, 00, 20, 20, 20, 2 
0,20,20,20,20, 11, 10,27, CD,EB,8D 
200 DATA 1 1,E8, 03, CD,EB,8D, 11,64,00 
, CD, EB, 8D, 1 1 , 0A, 00, CD, EB, 8D, 1 1 , 01 , 
0,3E,2F, 19,3C,FE,00,ED,52,4F,CD 
210 DATA 20,00,79,30,F4,DF,C9 

: ■ 




II 

• » • •••••••« 



; Prograsa que averigua las 

; direcciones de inicio, final 

j y ejecucién de un prograaa 

; grabado en cinta . 



; por Rom Van-6inkel 
I 



ii 



11 




ORG 


36MB 


11 




LOAD 36#M 


12 8CA# CDE1M 




CALL BE1H 


13 8CA3 CDE4M 




CALL IE4N 


14 8CA6 32C7BD 




LD 


(DAT6LA 


15 8CA9 CDE4M 


LOOP: 


CALLIE4H 


16 8CAC FECF 




CP 


2B7 


17 8CAE 3BF9 




JR 


NC,L0OP 


18 8CBI 21538D 




LO 


HL, DAT 1 


19 8CB3 77 




LD 


(HL) , A 


2§ 8CB4 23 




INC 


HL 


21 8CB5 Mf5 




LD 


B,5 


22 8CB7 CD2A8D 




CALL READ 


23 8CBA CDE7N 




CALL IE7H 


24 8CBD 214C8D 




LO 


HL, DATB 


25 8CCf CD2I8D 




CALL TEXT 


26 8CC3 CD158D 




CALL LF 


27 BCC6 3AC78D 




LD 


A, (DAT6) 


28 8CC9 FED3 




CP 


211 


29 8CCB 2871 




JR 


Z.CLOAD 


31 8CCD FEEA 




CP 


234 


31 8CCP 2867 




JR 


Z.LOAD 


32 8CD1 CDElf» 




CALL BE1H 


33 8CD4 21C88D 




LD 


HL,DAT7 


34 8CD7 1616 




LD 


B,6 


35 8CD9 CD2A8D 




CALL READ 


36 8CDC f 1C88D 




LD 


BC,DAT7 


37 8CDF M 




LD 


A, <BC) 


38 8CEB 5F 




LD 


E,A 


39 8CE1 13 




INC 


BC 


40 8CE2 f A 




LD 


A,<BC) 


41 8CE3 57 




LD 


M 


42 8CE4 f3 




INC 


BC 


43 8CE5 f A 




LD 


A, (BC) 


44 BCE6 6F 




LD 


L,A 


45 8CE7 13 




INC 


BC 


46 8C£8 #A 




LD 


A, (BC) 


47 8CE9 67 




LD 


H,A 


48 8CEA 13 




INC 


BC 


49 BCEB #3 




INC 


BC 


5f 8CEC f 3 




INC 


BC 


51 8CED EB52 




SBC 


HL, DE 


52 8CEF 70 




LD 


A,L 


53 8CFI 12 




LD 


(BC),A 


54 8CF1 13 




INC 


BC 


55 8CF2 7C 




LD 


M 


56 8CF3 #2 




LD 


(BC) , A 


57 8CF4 11C88D 




LD 


DE,DAT7 
HL,DAT2 


58 8CF7 215A8D 




LD 


59 8CFA 1614 




LD 


B,4 


6f 8CFC E5 




PUSH HL 


61 8CFD El 


DIREC: 


POP 


HL 


62 8CFE CD2#8D 




CALL TEIT 


63 8Df 1 E5 




PUSH HL 



v/M 




wm 



€"-*®fe--l ooncz OQi~!QC 
f-w , i\uui\m ¡cid 



■ 1 ■■■■ 


II 1 ■III ■ 






64 8Df2 1A 


LO A, (DE) 




114 8069 456A6563 


DEFB "EjKucién:" 


¿3 8013 6F 


LD L,A 




114 8D6D 756369A2 


66 8M4 13 


INC DE 




114 8D71 6E3A 




67 8M5 1A 


LO A, (DE) 




115 8073 0D 


DEFB 13 


68 8M6 67 


LD H,A 




116 8074 4C6F6E67 


DEFB "Longitud:" 


69 8D07 13 


INC DE 




116 8078 69747564 




71 8D08 DS PUSH DE 




116 BD7C 3A 




71 8M9 CDDf8D 


CALL PRINT 




117 8D7D 0D 


DEFB 13 


72 80fC C01S8D 


CALLLF 




118 8D7E 50726F67 DAT3: 


DEFB "PrograM en LOAD' 


73 BDfF DI 


POP DE 




118 8082 72616061 




74 8010 1IEB 


DJNZ DIREC 




118 BD86 20656E20 




73 8D12 El 


POP HL 




118 8D8A 4C4F4144 




76 8013 1834 


JR FIN 




119 B08E 0D 


DEFB 13 


77 8015 3E0D LF: 


LD A, 13 




120 8D8F 50726F67 DAT4: 


DEFB "Prograu en CLOAD 


78 8017 CD1800 


CALL 18H 




120 8D93 72616061 




79 801A 3EM 


LD A, 10 




120 8097 20656E20 




8f BD1C CD18M 


CALL 18H 




120 8D9B 434C4F41 




81 BD1F C9 


RET 




120 8D9F 44 




82 8D2f 7E TEXT: 

83 8021 23 


LD A, (HL) 




121 8DA0 0D 


DEFB 13 


INC HL 




122 BDA1 4572726F DAT5: 


DEFB "Error, carga " 


84 8022 FEfD 


CP 13 




122 8DA5 722C6361 


85 8024 28f3 


JR Z, FTEXT 




122 8DA9 72676120 




86 8026 DF 


RST 18H 




123 8DA0 696E7465 


DEFB "interruipida o ' 


87 BD27 18F7 


JR TEXT 




123 8DB1 7272756D 




88 8029 C9 FTEXT: 


RET 




123 8005 70696461 




89 8D2A E5 READ: 


PUSH HL 




123 8DB9 206F20 




91 8D2B C5 


PUSH BC 




124 8DBC 64656669 


DEFB "deficiente" 


91 BD2C CDE4N 


CALL 0E4H 




124 8DC0 6369656E 




92 8D2F Cl 


POP BC 




124 8DC4 7465 




93 8031 El 


POP HL 




125 8DC6 0D 


DEFB 13 


94 8031 38fF 


JR C, ERROR 




126 80C7 00 DAT 6: 


DEFB 


95 8033 77 


LO (HL) , A 




127 8DC8 20202020 DAT7: 


DEFB " 


96 8034 23 


INC HL 




127 8DCC 20202020 




97 8035 1F3 


DJNZ READ 




128 8DD0 111027 PRINT: 


LO DE, 10000 


98 8037 C9 


RET 




129 8DD3 CDEB8D 


CALL PR1 


99 8D38 217E80 LOAD: 


LD HL,DAT3 




130 8D06 11E803 


LD DE, 1000 


llf 8D3B 18E3 


JR TEXT 




131 8DD9 CDEB80 


CALL PR1 


lfl 8030 218F8D CLOAD: 


LO HL,DAT4 
JR TEXT 




132 8DDC 116400 


LD DE, 100 
CALL FUI 


102 8040 18DE 




133 8DDF CDEB8D 


113 8042 El ERROR: 


POP HL 




134 8DE2 U0A00 


LD DE, 10 


114 8043 21A18D 


LD HL,0AT5 




135 8DE5 CDEB8D 


CALL PR1 


115 8046 CD208D 


CALL TEXT 




136 8DE8 110100 


LD DE, 1 


106 8049 C3E7M FIN: 


JP 0E7H 




137 8DEB 3E2F PR1: 


LD A,47 


107 804G 4E6F6D62 DATf : 


DEFB "Notare:" 




138 8DED 19 


ADD HL,DE 
INC A 


107 8051 72653A 






139 BDEE 3C PR2: 


118 8053 2f2f2f2f DAT1: 


DEFB ' 




140 8DEF FE00 


CP 


118 8057 2021 






141 8DF1 ED52 


SBC HL DF 


lf9 8059 fD 


DEFB 13 




142 8DF3 4F 


LO C,A 


111 BD5A 496E6963 DAT2: 


DEFB "inicio:" 




143 8DF4 CO20M 


CALL 20H 


llf 8D5E 696F3A 






144 B0F7 79 


LO A,C 
JR NC.PR2 


111 8061 ID 


DEFB 13 




145 80F8 30F4 


112 BD62 46696E61 


DEFB "Final:" 




146 8DFA DF 


RST 18H 


112 8066 6C3A 






147 8DFB C9 


RET 


113 8068 ID 


DEFB 13 




148 


ENO 



i i\üüi\m h uí 









por Roni Van 

Este corto programa sirve para buscar en una zona de memoria p 

datos (bytes). 
Los datos que deseemos buscar pueden 
ASCII: Escribimos los caracteres que queramos buscar y pulsamos BETUBJT. 
BYTES: Decimos cuantos datos deseamos introducir e introducimos dichos datos en de 
DISECCION: Introducimos la dirección que deseemos buscar. 
El programa nos irá escribiendo todas las direcciones donde se encuentran los datos a buscar, 
(o no haya encontrado ninguna dirección) escribirá PIN y terminará. 
El programa en Basic está lo más empaquetado posible para limitar la menor cantidad de memoria posible. 
Aparte del listado en ensamblador, adjuntamos dos listados, el primero es el cargador de Basic, y el segando 

es el listado en sí. 

El listado en ensamblador es bastante corto, y se limita a coger de la tabla donde se encuentran los caracteres a 
el primero, con la instrucción CPIK busca en la memoria el lugar donde se encuentra, y una vez encontrado, com; 
demás datos. Como el programa guarda en la memoria la dirección donde se encuentra al volver al Basic, y la 
memoria que le falta de explorar, al llamarlo de nuevo, seguirá explorando desde donde lo dejó. 
El programa en Basic pone en la memoria todos los datos (dirección de inicio, longitud, caracteres a buscar y una señal 
de fina que es un 13 (un return en ASCII), por lo que queda limitado a buscar caracteres que no sean iguales a 13. Pero los 
que sepan un poco de programación no le encontrarán ningún problema a cambiar el código 13 por otro que les vaya 
Una vez introducidos los parámetros, el programa va llamando a la subrutina de ensamblador hasta que ésta le 
un como la dirección a buscar, indicando así que ya ha finalizado, con lo que el programa también finaliza. 

, , 












1 



*** 



Cargador 



CARBUS *** 



3 ' 

10 CLS:PRINT"Un momento . 
20 FOR 1=34400! TO 34451! 
30 READ A*: A= VALÍA*) 
40 POKE I,A 
50 N=N+A 
60 NEXT 

70 IF NO 1352 THEN PRI NT "ERROR EN D 
ATAS": STOP 

80 PR I NT " GRABAR <S/N>"; 
90 A*=INPUT* ( 1 ) : PRINTA*: IF A*<>"S" 
AND A*<>"N" THEN GOTO 80 
IF A*="N" THEN END 
BSAVE " CAS : CARBUS " , 34400 ! , 3445 1 ! 
END 

DATA 2A,94,86,ED,4B,96,86, 11,98 
,86, 1A,ED,B1,E5,78,FE,00,20,0B,79,F 
E, 00, 20, 06, El, 21, 01, 00, 18, 0E, 13 
140 DATA 1A,FE,0D,28,07,BE,23,28,F6 
,E1, 18, DC, El, 22, 94, 86, ED, 43, 96, 86, C 
9 



100 
110 
120 
130 



10 CLEAR200, 34400 1 : SCREEN0: KEYGFF: W 
IDTH40: COLORI 5, 4, 4: DEFUSR=34400 ! : IN 
PUT"Direccion inicial : " ; A: INPUT"Dir 
eccion -final : ";B: I FB< =ATHENB=65535 ! 




1 



I 



1 PPnfZQQffiQC 

w i i\üut\m Sid 



:L0CATE17, liPRXNTB 

20 PRINT M (A)scii (B)ytes (D 

)ireccion : " ; : A*=INPUT* < 1 ) : P 

RINT A*:ON ASC(A*>-64 GOTQ 4 

0,60,20,50 

30 GOTO20 

40 INPUT"Caracteres: ";A*:FO 
RI=1T0LEN(A$) : P0KE34459 ! + 1 , A 
SC(MID*<A*, 1,1) ) :NEXT:GOTO70 
50 INPUT"Di rece ion: ";C:D=INT 
<C/256) :E=C-D*256:PÜKE 34460 
! , E: P0KE34461 f , D: PÜKE 34462! 
, 13:GOTÜ80 
60 INPUT"Cuantos 
RI=1T0C:PRINT I; 
: H ;D:POKE 34459 
70 POKE 34459 
80 PRINT: C=INT (A/256) : D=A-C* 
256: P0KE34456 ! , D: P0KE34457 ! , 
C 

90 G=B-A:E=INT(G/256) :F=G-E* 
256:P0KE34458! , 



datos" ;C:FO 
INPUT "dato 
+I,D:NEXT 
13 



■lllllllllll 



_ 




! , F : PÜKE34459 ! , E: D=USR ( ) : A=PEEK ( 34456 ! > + 
PEEKÍ34457! ) *256-l : IFA=0THENPRINT"Fi n " : EN 
DELSEPRINT"Di rece i on : " ; A: GOTÜ90 
100 END 

— 



1 

2 

3 

4 

5 

6 

7 

8 

9 
lf 
11 
12 
13 

14 8661 2A9886 

15 8663 ED4B9A86 

16 8667 U9C86 

17 866A 1A 

18 866B ED81 

19 8660 E5 
21 866E 78 

21 866F FEfl 

22 8671 2MB 

23 8673 79 

24 8674 FEf f 

25 8676 2N6 

26 8678 El 

27 8679 211110 

28 867C 1812 

29 867E 13 
3f 867F 1A 

31 8681 FEID 

32 8682 28#B 

33 8684 BE 

34 868S23 

35 8686 28F6 

36 8688 FE23 

37 868A 28F2 

38 868C El 

39 868D 1808 
4i B68F El 

41 869f 229886 

42 8693 ED439A86 

43 8697 C9 
44 
45 

46 8698 Mil 

47 869A Mff 

48 B69C ff 
49 



; I I t CARBUS t t t 

; 

; Subrutint m ensatólador 

; para buscar una cadena de 

; bytes en la eeeoria y 

; devolver la dirección donde 

; se encuentra dicha cadena 

; al Basic . 

í 

; Por Roni Van-fiinkel 

i 

QRB 344N 
LOAD 344H 
LD HL, (DAT1 ) 
LD BC,(DAT2> 
CAR6: LO DE, DAT3 
LOOP: LD A, (DE) 
CPIR 
PUSH HL 
LO A f B 
CP f 

JR NZ,L00P1 
LD A,C 
CP f 

JR NZ t L0QPl 
POP HL 
LD HL, 1 
JR FIN 
L00P1: INC DE 

LD A, (DE) 
CP 13 
JR Z,FIN1 
CP (HL) 
INC HL 
JR Z,L00P1 
35 

Z,L00P1 
HL 

CAR6 

FINI: POP HL 
FIN: LD (DAT1),HL 

(DAT2),BC 



DAT1: 
DAT2: 
DAT3: 



CP 
JR 
POP 
JR 
POP 
LD 
LD 
RET 
0R6 34456 
LOAD 34456 
DEFB f,f 
DEFB 1,1 
DEFB I 
END 



; INICIO 



;HL B DIR. INICIAL 
;BC=L0N6ITUD 
;DE=C0NIENZ0 
;A=PRIHER CARAC 
; BUSCA 

;HL=DIR. CARAC. *\ 
;VER SI BCM 



LO ES, VOLVER 



; BUCLE BUSQUEDA 
J FINAL DE LA TABLA? 



¡SI COINCIDEN SIGUE 
;ES UN COMODIN? 

;N0 COINCIDEN, VUELVE 

;DIR. ENCONTRADA 
; CARGA OIR. 
;CAR6A LONGITUD 

; ORI GEN DE LA TABLA 

;DIR. INICIO 

; LONGITUD 

; CADENA DE CARAC. 



••••••• 



I 



® I l\UUl\l II II u 




LE TBÜS 



2 * Cargador para el programa LETBU 
S 

3 * 

10 CLS: PRINT "Un momento ..." 

20 FOR 1=36000! TO 36153! 

30 READ A* 

40 A=VAL("8tH"+A*> 

50 POKE I,A 

60 N=N+P* 

70 NEXT 

80 IF NO 15634! THEN PRINT"ERRGR EN 

DATAS" : STOP 
90 PRINT "Para grabar hacer :": PRINT 

" BSAVE " +CHR* < 34 ) + " LETBÜS " +CHR* ( 34 
) + " , 36000, 36155" : END 

100 DATA 3E,0F,32,E9,F3,3E,04,32,EA 
, F3, 32, EB, F3, 3E, 28, 32, AE, F3, CD, 6C, 

0, CO,CC,00,21,00,80, 11,28,00,01 

110 DATA 98,03,E5,CD,5C,00,E1,3E,00 
,32, 16,F4,E5,2E,01,26, 1 1 , CD, C6, 00, E 

1, E5,CD,0E,8D,E1,3E,08,CD,41,01 

120 DATA FE,FF,28,F7,CB,7F,28, 12, CB 
,67,28, 12, CB, 77, 28, 19, CB, 6F, 28, 0D, C 
B,47,28, 17, 18,C3,23,C3,BB,8C,2B 
130 DATA 18, BC, 1 1 , 27 , 00, ED, 52, C3, BB 
,8C, 11,28,00, 19, 18, AÉ,C9, 1 1,10, 27, C 
D,29,8D, 11,E8,03,CD,29,8D, 11,64 
140 DATA 00,CD,29,8D, 1 1 , 0A, 00, CD, 29 
,8D, 11, 01,00, 3E,2F, 19,3C,FE,00,ED,5 
2, 4F, CD, 20, 00, 79, 30, F4, DF, C9 



r nos permitirá visualizar toda la pantalla en formato de 
mensaje de un programa, encontrar su comienzo o simplemente 
nde se almacenan variables alf anuméricas. 
(la que comienza por el label PRINT) que nos 
HL en decima l e n la pantalla. 



===== 



i 

2 
3 
4 
5 
6 
7 
8 
9 

lf 



LETBÜS t I t 



» 

; Progrua que presentí toda 
; la Mioria central en foriato 
; caracteres para localizar los 
; textos de un prograaa . 

; 



; Por Rom Van-Sinkel 

flft> 



¡DIRECCION INICIO 




ÉÉÉ • # # • i 



'y^íSÉfreA OOfUZ OQi~i.QC 







11 








12 8121 3E#f 




LO A, 15 


¡COLOR 15.4.4 


13 B#22 32E9F3 




LD (0F3E9H>,A 


14 8123 3E04 




LD A,4 




15 BÍ27 32EAF3 




LD (§F3EAH),A 




16 802A 32EBF3 




LO (0F3EBH) ,A 




17 8I2D 3E28 




LD A,4f 




18 8f2F 32AEF3 




LD (fF3AEH),A 
CALL 6CH ' 




19 8132 CD6C00 




{SCREEN0 


21 8135 CDCCN 




CALL fCCH 


21 8038 211181 


PR06: 


LD HL, 32768 


;HL«INICI0 


22 M3B 1128M 


BUCLE: 


LD DE, 48 


}DE=0R6 PANT 







■ _ 




23 8I3E 119813 

24 8141 ES 

25 8042 CD5C00 

26 8945 El 

27 8046 3EM 

28 8*48 3216F4 

29 804B E5 
3f B04C 2EI1 

31 804E 2611 

32 BfSf CDC6M 

33 8153 El 

34 8154 E5 

35 8155 CD8EB0 

36 8158 El 

37 8159 3E08 

38 8058 CD4101 

39 805EFEFF 

40 8060 28F7 

41 8062 CI7F 

42 8064 2812 

43 8066 CB67 

44 8068 2812 

45 806A CB77 

46 806C 2819 

47 806E CB6F 

48 8070 2B0D 

49 8072 CI47 

50 8074 2817 

51 8076 18C3 

52 8078 23 

53 8079 C33B80 

54 807C 2B 

55 M7D 18BC 
36 8I7F 112700 

57 8082 ED32 

58 8084 C33B80 

59 8087 112800 

60 808A 19 

61 B08B 18AE 

62 80BD C9 

a 

44 
63 
té 

67 808E 111027 

68 8091 CM980 

69 8094 UEB03 

70 1097 CM980 

71 809A 116400 

72 809D CDA9I0 

73 80A0 110A00 

74 80A3 COA990 

75 80A6 110100 

76 80A9 3E2F 

77 B0AB 19 

78 80AC 3C 

79 80AD FE00 

80 80AF ED52 

81 8011 4F 

82 8012 CD2000 

83 B0B5 79 

84 8006 30F4 

85 80B8 DF 

86 8019 C9 
87 



TECLA: 



LD 
PUSH 
CALL 
POP 
LD 
LD 
PUSH 
LD 
LD 

CALL 
POP 
PUSH 
CALL 
POP 
. LD 



CP 
JR 
BIT 
JR 
BIT 
JR 
BIT 
JR 
BIT 
JR 
BIT 
JR 
JR 
INC 
JP 
DEC 
JR 
LD 
SBC 
JP 
LO 
ADD 
JR 

EIIT: RET 

; 

¡ SUBRUTINA QUE 
; VALOR DE HL FJ 



RIGHT: 



LEFT: 



UP: 



OC,920 

HL 

5CH 

HL 

M 

(0F416HI.A 
HL 

M 

H, 17 

0C6H 

HL 

HL 

PRUT 
HL 

M 

141H 
255 

Z, TECLA 
7,A 

Z, RIGHT 

4, A 
Z.LEFT 
6,A 

I, WM 

5, A 
Z.UP 
0,A 
Z.EXIT 
8UCLE 
HL 

BUCLE 
HL 

BUCLE 
DE, 39 
HL.DE 
BUCLE 
DE, 40 
HL.DE 
BUCLE 



;BC>L0N6ITUI 
{PONER EN PANTALLA 
{SALIDA POR PANTALLA 



IHPRIHE EL 
DECIMAL 



PRINT: 



PR1: 
PR2í 



LD DE,100M 

CALL PR1 
LD DE, 1000 
CALL PR1 
LD DE, 100 
CALL FUI 
LO DE, 10 
CALL PR1 
LD DE, 1 
A, 47 
HL,K 
A 


HL, DE 
C,A 
CALL 20H 
LD A,C 
JR NC.PR2 
RST 18H 
RET 
END 



LD 

ADD 

INC 

CP 

SBC 

LD 



{TECLADO 

{PULSACION ? 
{SINO 




{CURSOR IZQUIERDA 
{CURSOR ABAJO 



{BARRA > SALIR 
{AVANZAR LENTO 
{RETROCEDER LENTO 
¡RETROCEDER RAPIDO 

{AVANZAR RAPIDO 

{VOLVER AL BASIC 







mk B mh A # ¿¿ ■ • - 



1 



TRUCOS DEL 



PROGRAMADOR 




SIMETRIA EN 
SCREEN 2 

Javier Herreruela Morón, de Madrid, nos 
envía un corto pero interesante programa 
en ensamblador. Este programa permite la 
realización de una simetría de la pantalla 
respecto al eje vertical que pasa por el cen- 
tro de la misma. 

De este modo, la mitad izquierda de la 
pantalla resultará copiada simétricamente 
en la mitad derecha. Hay que avisar que esta 
simetría se realizará sólo si estamos en 
S CREEN 2. 

La rutina en C.M. ocupa 54 bytes ubicados 
entre las direcciones 60000 y 50083. Sin 
embargo la rutina es totalmente reubicable 
y podéis situarla en la dirección que os pa- 
rezca más oportuna. 

Incluimos dos listados. El primero es el 
correspondiente al programa fuente en len- 
guaje ensamblador, mientras que el segun- 
do es el cargador en BASIC. En este segundo 
listado hemos incluido una D amada a la ru- 
tina a modo de ejemplo, que podéis sustituir 
por vuestros propios gráficos. 

La rutina tarda 2.5 segundos en ejecutar- 
se totalmente. Aquí os incluimos los corres- 
pondientes listados. 



LISTADO 1 



1 * 

2 » *** SIMETRIA *»* 

3 ' 

4 * Por Javier Herreruela 

5 7 

6 ' Para MSX-Extra 

7 ' 

10 FOR J=50000! TO 50053! 



LISTADO Z 



3 
4 

5 

6 C350 

7 C353 

8 C356 

9 C358 

10 C35A 

11 C35C 

12 C35E 

13 C35F 

14 C360 

15 C362 

16 C363 

17 C364 

18 C367 

19 C368 

20 C369 

21 C36A 

22 C36C 

23 C36E 

24 C371 

25 C374 

26 C375 

27 C376 

28 C377 

29 C379 

30 C37A 

31 C37B 

32 C37E 

33 C37F 

34 C380 

35 C381 

36 C383 

37 C385 
38 



210000 

CD4A00 

0608 

CB3F 

CB11 

10FA 

E5 

7D 

EEFB 

6F 

79 

CD4D00 

El 

23 

7C 

FE18 

20E5 

210020 

CD4A00 

4F 

E5 

7D 

EEF8 

6F 

79 

CD4D00 

El 

23 

7C 

FE38 

20EC 

C9 



VPEEK: 
VPOKE: 



PAT: 
BYT: 



COL: 



ÜRG 


50000 


EQU 

1— wi U 


4AH 


EQU 


4DH 


LD 


HL, 


CALL 


VPEEK 


LD 


B.8 


SRL 


A 


RL 


c 


DJNZ 


BYT 


PUSH 


HL 


LD 


A. L 


XOR 


248 


LD 


L. A 


LD 


a r 


CALL 

\-* ni — t — 


VPOKE 


POP 


HL 


INC 


HL * 


LD 


A, H 


CP 


24 


JR 


NZ, PAT 


LD 


HL, 8192 


CALL 


VPEEK 


LD 


C. A 


PUSH 


HL 


LD 


A. L 


XOR 


248 


LD 


L. A 


LD 


A, C 


CALL 


VPOKE 


POP 


HL 

■ 1 * — 


INC 


HL 


LD 


A, H 


CP 


56 


JR 


NZ,C0L 


RET 




END 






20 READ A*:POKE J , VAL < "«(H'^+A* ) 
30 S=S+PEEK(J) :NEXT 

40 IF S06295 THEN PRINT "Hay un ER 
ROR" : END 
50 SCREEN 2 

60 FOR H=l TO 50:PSET (255*RND (-TIM 

E) , 191*RND(1) ) , 1 5*RND ( 1 ) : NEXT 

70 CIRCLE (50,90) ,30, ,, ,4/3 

80 LINE <0,0)-(255, 191) 

90 BEEP:A*=INPUT*(1) 

100 DEF USR-50000! :A=USR(0) 

110 GOTO 110 

1000 DATA 21,0,0,cd,4a,0,06,08,cb,3 
■f ,cb, 11, 10,fa,e5,7d,ee,f 8 
1010 DATA 6-f ,79,cd,4d,0,el,23,7c,fe 
, 18, 20, e5, 21, 0,20 

1020 DATA cd,4a,0,4-f , e5, 7d , ee, f 8, 6f 
,79,cd,4d,0,el,23,7c,fe,38,20,ec,c9 



42 



¡NOS APLICAMOS A SER UTILES! 

A TRAVES DE MSX CLUB DE MAIUNC PUEDES ADQUIRIR 



BASIC TUTOR IDEALOCIC 





Deja el manual de 
BASIC en cartucho 
PVP 3.500 pts. 



ADAPTADORES TARJETAS! 
INTELIGENTES 
BEE CARD Y SOFTCARD 



f 



V. 



.1 ./• 



No te q 
al margen 
V disfruta 
de las tarjetas 




í Nombre y apellidos 

I Dirección 

I Población 

I □ Tutor Basic Ptas. 3.500- 



ENVIA HOY MISMO ESTE CUPON ^ 



Prov. 



Tel. 



□ Adaptador Softcard Ptas. 2.850- I 

□ Shark Hunter Ptas. 5.200- 

□ Le Mans 2 Ptas. 5.200- 

| Gastos de envío por cada producto 100,- pts. Remito talón bancario de pts. a la orden de Manhattan | 

Transfer, S.A. Enviar a MSX CLUB de MAILING, Roca i Batlle 10-12 bajos - 08023 Barcelona. 



□ SweetAcom Ptas. 5.200- 

□ BarnStormer Ptas. 5.200- 



□ Adaptador Bee Card Ptas. 2.850- 

□ Backgammon Ptas. 5.200- 

□ Chock'n Pop Ptas. 5.200- 



"eno alacho Rou te h ^ré 



1 



< 1f - 



TM 



TM 



ti 



A" 



Dará 



iter 



KONAMI SOLO EDITA SUS PRODUCTOS 



RECORTA Y ENVIA ESTE CUPON A KONAMI SHOP. 
FRANCISCO NAVACERRADA, 19. 28028 MADRID. 



NOMBRE Y APELLIDOS: 

DIRECCION: 

POBLACION: 



FORMA DE PACO: CONTRARREMBOLSO [ I POR TALON BANCARIO □ 



-COD. POSTAL: 
.PROVINCIA:—